我的数据库看起来像这样,代表客户在某个商店进行的购买:
Customer ID | Store ID | Date & Time
1 | 1884 | 2016-10-30 13:00:00
5 | 2001 | 2016-10-30 13:00:00
数据集非常大。时间间隔为1小时。
我需要计算在一天中的每个小时内有多少客户购买。返回的数据应如下所示:
Store ID | Unique Date & Time | Number of purchases
1884 | 2016-10-30 13:00:00 | 8
1884 | 2016-10-30 14:00:00 | 12
我没有想法,也很感激我能得到的任何帮助。
答案 0 :(得分:1)
选择ID并将其分组为小时和日。
SELECT [ Store ID ], count(*)
FROM table1
GROUP BY DATEPART(day, [ Date & Time]), DATEPART(hour, [ Date & Time]);
答案 1 :(得分:0)
我假设此查询将每小时运行一次,并且生成的数据将附加到现有数据集
以下查询将为您提供客户在[日期和时间]在特定商店中进行的购买计数
select [Date and Time],[Store ID],count(customer id)
from [tablename] group by [Date and Time],[Store ID]
order by [Date and Time] DESC
如果您希望得到每小时所有购买的完整统计数,无论商店ID如何,那么您可以试试这个:
select [Date and Time],count(customer id)
from [tablename] group by [Date and Time]
order by [Date and Time] DESC
desc命令用于获取最新的时间戳结果