根据SQL中的日期计算列

时间:2012-01-27 12:39:33

标签: mysql count

我需要SQL语句的帮助。目标是计算每个日期的警报数量。我的表看起来像这样:

|----DATE----|---COUNTER---|---ALARM_ID---|
|2012-01-01  |     30      |      1       |
|2012-01-01  |     20      |      2       |
|2012-01-01  |     10      |      3       |
|2012-01-02  |     5       |      1       |
|2012-01-02  |     25      |      2       |
|2012-01-02  |     12      |      3       |
|2012-01-03  |     33      |      1       |
|2012-01-03  |     43      |      2       |
|2012-01-03  |     11      |      3       |

我正在寻找一个给出这个结果的SQL语句:

|----DATE----|---COUNTER---|
|2012-01-01  |     60      |
|2012-01-02  |     42      |
|2012-01-03  |     87      |

我一直在研究 SELECT日期,SUM(计数器)FROM all_stats ,但我得到的只有:

|----DATE----|---COUNTER---|
|2012-01-01  |     60      |

我是否必须创建一个循环来完成所有日期并计算?

提前致谢,Steve-O

3 个答案:

答案 0 :(得分:2)

SELECT date, SUM(counter)
FROM all_stats
GROUP BY date

答案 1 :(得分:1)

试试这个

SELECT date, SUM(counter) FROM all_stats GROUP BY date;

“GROUP BY date”将所有单独的日期放在一个单独的行上,并按日期分别计算金额。

答案 2 :(得分:1)

select date, sum(counter)
from all_stats
group by date