カスタム時間の日時列でグループ化するにはどうすればよいですか。たとえば、5時間ごと、12時間ごと、または24時間ごとです。
Select CreateOn, Count(*) From Table1
Group By ?????
カスタム時間の日時列でグループ化するにはどうすればよいですか。たとえば、5時間ごと、12時間ごと、または24時間ごとです。
Select CreateOn, Count(*) From Table1
Group By ?????
この例では開始日時「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
私があなたの質問を正しく理解しているなら、あなたはこのようなことを試みることができます:
SELECT CreateOn, Count(*) FROM Table1 GROUP BY (DATEPART(MINUTE, [Date]) % 12)