我正在使用sql数据库,我有问题。这是关于公共交通,我有桌子和交通事故'和栏目'事故发生的时间' (约会时间)。我需要计算特定小时发生的事故数量,以了解一天中最危险的部分。 我知道如何将日期与日期时间分开,但问题是如何计算和订购.. 它应该是这样的:
交通事故发生时间
2011-03-05 07:40:00.000,
2011-03-07 01:15:00.000,
2011-04-07 19:00:00.000,
2011-07-23 11:00:00.000,
2011-06-22 07:09:00.000,
2011-03-08 07:14:00.000,
2011-02-02 01:26:00.000
按小时订购事故
7h- 3 accidents,
1h- 2 accidents,
6h- 1 accident,
etc…
我的英语并不完美,但我希望我足够清楚:P 谢谢,Urosh
答案 0 :(得分:2)
尝试这样的事情:
WITH T as
(
SELECT '2011-03-05 07:40:00.000' Col1 UNION ALL
SELECT '2011-03-07 01:15:00.000' Col1 UNION ALL
SELECT '2011-04-07 19:00:00.000' Col1 UNION ALL
SELECT '2011-07-23 11:00:00.000' Col1 UNION ALL
SELECT '2011-06-22 07:09:00.000' Col1 UNION ALL
SELECT '2011-03-08 07:14:00.000' Col1 UNION ALL
SELECT '2011-02-02 01:26:00.000'
)
假设T是你的表,而Col1是你的日期列。
SELECT DATEPART(hour,Col1) as Hour,COUNT(DATEPART(hour,Col1)) as Accidents FROM T
GROUP BY DATEPART(hour,Col1)
ORDER BY DATEPART(hour,Col1)
结果:
Hour Accidents
1 2
7 3
11 1
19 1
最好的问候