需要每月统计整个月 - SQL 2008

时间:2013-02-07 15:23:58

标签: sql-server-2008

我正在尝试生成一个简单的报告,它给了我整个月的每天失败的测试计数。有没有办法编写一个SQL查询来做到这一点?而不是通过更改日期来运行查询?这就是我在做的事情:

select count (*) from students where Message Like 'Failed Test.%'
and Timestamp > '01-01-2013' and Timestamp < '01-02-2013'

所以上面的查询给了我计数5.然后我将日期从01-01更改为01-02并获得下一天的计数,依此类推。但这似乎是非常耗时的事情。只是检查是否有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

这为一个月的日期范围提供按天分组的计数:

select cast(timestamp as date) as [Date], count (*) as NumFailedTests
from students 
where Message Like 'Failed Test.%'
and Timestamp between '2013-01-01' and '2013-01-31'
group by cast(timestamp as date)
order by cast(timestamp as date)

您显然可以扩大日期范围......

[希望'timestamp'列不是真正的时间戳...]