2

SQLデータベースを使用していますが、問題があります。公共交通機関に関するもので、「交通事故」の表と「事故発生時刻」(日時)の欄があります。1日の中で最も危険な部分を理解するために、特定の時間に発生した事故の数を数える必要があります。時刻と日時を分ける方法は知っていますが、問題はカウントと順序付けの方法です。次のようになります。

交通事故の時期

 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

4

1 に答える 1

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 が datecolumn であるとします。

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

よろしくお願いします

于 2012-05-30T03:02:46.153 に答える