SQL:执行统计计算的查询

时间:2011-09-20 05:40:11

标签: sql database

我有一个包含以下列的数据表:id(字符串),日期(日期),警报(0或1)。

一些示例数据:

case001     2011-06-18 8:27:00     0
case002     2011-06-18 16:30:00    1
case003     2011-06-19 7:24:00     0
...
case150     2011-10-23 22:05:00    1
case151     2011-10-24 11:45:00    1
case152     2011-10-24 16:55:00    0
case153     2011-10-24 20:13:00    0
...

我希望能够编写一些SQL查询来计算每天的警报数(其中1表示警报,0表示没有警报)以及每天每个ID的警报数。

有什么想法吗?

谢谢!!!

1 个答案:

答案 0 :(得分:0)

这取决于您使用的是哪个数据库。

在Oracle中,您可以使用trunc函数截断为一天(或一个月等)

SELECT TRUNC(date, 'dd'), SUM(alert)
FROM alerts
GROUP BY TRUNC(date, 'dd')

在MySQL中你应该使用

GROUP BY DATE(date)