我有一个包含以下列的数据表: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的警报数。
有什么想法吗?
谢谢!!!
答案 0 :(得分:0)
这取决于您使用的是哪个数据库。
在Oracle中,您可以使用trunc
函数截断为一天(或一个月等)
SELECT TRUNC(date, 'dd'), SUM(alert)
FROM alerts
GROUP BY TRUNC(date, 'dd')
在MySQL中你应该使用
GROUP BY DATE(date)