我有一张表,如下所示:
表users
:
id points date
1 100 2014-07-01
2 500 2014-07-02
3 200 2014-07-01
4 100 2014-07-03
5 100 2014-07-01
6 400 2014-07-02
7 800 2014-07-02
8 200 2014-07-02
现在,如何选择每个unique
日期并计算当天的积分总和?
所以我需要一个像这样的结果:
points date
400 2014-07-01
1900 2014-07-02
100 2014-07-03
答案 0 :(得分:2)
SELECT SUM(`points`) AS points, `date`
FROM users
GROUP BY `date`
答案 1 :(得分:0)
此分组和聚合操作是标准查询模式,可以按照 1 这些步骤解决。
GROUP BY date
按日期将日期汇总到组中。SUM(points)
以计算每个汇总[日期]组中的点数。date
列,将其包含在结果中。ORDER BY date
以确保结果已订购。1 在问题中讨论尝试的解决方案(即查询)时,这是一个很好的礼仪 - 并且可以得到更好的答案/讨论,以及他们为什么不这样做工作[正确]。
答案 2 :(得分:0)
试试这个:
SELECT SUM(points) points, date
FROM users
GROUP BY date
ORDER BY date ASC