如何使用SQL每天获取事件计数?

时间:2010-02-17 05:50:25

标签: sql select sql-server-ce

我有一个看起来像这样的表:

Timestamp          Event   User
================   =====   =====
1/1/2010 1:00 PM   100     John
1/1/2010 1:00 PM   103     Mark
1/2/2010 2:00 PM   100     John
1/2/2010 2:05 PM   100     Bill
1/2/2010 2:10 PM   103     Frank

我想编写一个查询,显示每天的事件以及这些事件的计数。类似的东西:

Date       Event   EventCount
========   =====   ==========
1/1/2010   100     1
1/1/2010   103     1
1/2/2010   100     2
1/2/2010   103     1

数据库是SQL Server Compact,因此它不支持完整SQL Server的所有功能。我到目前为止所写的查询是

SELECT DATEADD(dd, DATEDIFF(dd, 0, Timestamp), 0) as Date, Event, Count(Event) as EventCount
FROM Log
GROUP BY Timestamp, Event

这几乎可以工作,但EventCount始终为1.我如何让SQL Server返回正确的计数?所有字段都是强制性的。

1 个答案:

答案 0 :(得分:4)

按顶部更改您的论坛>

GROUP BY DATEADD(dd, DATEDIFF(dd, 0, Timestamp), 0), Event