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

发布于 2024-08-22 08:38:31 字数 768 浏览 7 评论 0原文

我有一个如下所示的表:

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返回正确的计数?所有字段均为必填字段。

I have a table that looks like this:

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

I want to write a query that shows the events for each day and a count for those events. Something like:

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

The database is SQL Server Compact, so it doesn't support all the features of the full SQL Server. The query I have written so far is

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

This almost works, but EventCount is always 1. How can I get SQL Server to return the correct counts? All fields are mandatory.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酷到爆炸 2024-08-29 08:38:31

将您的组更改为

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

Change your goup by to

GROUP BY DATEADD(dd, DATEDIFF(dd, 0, Timestamp), 0), Event 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文