我有一列Startime datetime2(7)
,数据格式为2019-05-15 22:33:55.0000000
。
我正在尝试过滤列并按小时获取计数
SELECT *
FROM vehicles
WHERE vendor = 'ford'
AND starttime BETWEEN '05/01/2019 00:00:00' AND '05/15/2019 23:59:59'
此查询返回日期之间的所有结果;有人可以建议如何按小时查询和计数吗?
例如,在2019年5月1日至2019年5月15日之间,计数和结果类似
- 0 hour countX
- 1 hour countY
- 2 hour countZ
- ...
- ...
- 23 hour countXY
计算两天之间的所有时间(预期结果为24行)
答案 0 :(得分:1)
检查此。这将仅按小时细分即可提供所需的输出-
SELECT
CAST(DATEPART(HH,starttime) AS VARCHAR) +' Hour Count ' + CAST(COUNT(*) AS VARCHAR)
FROM vehicles
WHERE vendor='ford'
AND starttime BETWEEN '05/01/2019 00:00:00' AND '05/15/2019 23:59:59'
GROUP BY DATEPART(HH,starttime)