1

カスタム時間の日時列でグループ化するにはどうすればよいですか。たとえば、5時間ごと、12時間ごと、または24時間ごとです。

Select CreateOn, Count(*) From Table1
Group By ?????
4

2 に答える 2

2

この例では開始日時「2011-01-01」を選択してから、DATEDIFF()関数を使用して、開始日との時間差を取得する必要がありCreateOnます。次に、/演算子を使用して整数の間隔数(この例では5時間)を取得します。

Select 
min(DATEADD(HOUR,DATEDIFF (HOUR,'2011-01-01',CreateOn )/5*5,'2011-01-01')) 
   as Start_time,
max(DATEADD(HOUR,(DATEDIFF (HOUR,'2011-01-01',CreateOn )/5+1)*5,'2011-01-01')) 
   as End_Time,
DATEDIFF (HOUR,'2011-01-01',CreateOn )/5 as Interval_Number, 
Count(*) as _Count
From Table1
Group By DATEDIFF (HOUR,'2011-01-01',CreateOn )/5
于 2013-01-05T07:25:48.347 に答える
1

私があなたの質問を正しく理解しているなら、あなたはこのようなことを試みることができます:

SELECT CreateOn, Count(*) FROM Table1 GROUP BY (DATEPART(MINUTE, [Date]) % 12)
于 2013-01-05T06:53:19.223 に答える