2012-01-27 109 views
2

我需要SQL语句的帮助。目标是计算每个日期的警报数量。我的表看起来是这样的:根据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  | 

我一直对这个选择日期,SUM(计数器)从all_stats,但我得到的是:

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

我一定要创建一个循环来遍历所有的日期和算什么?

在此先感谢,史蒂夫 - O

回答

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

试试这个

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

“GROUP BY日期”把一个单独的行所有的个别日期和每个日期分别做总和。

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