以下の情報を含むテーブルがあります。これは、はるかに大きなデータセット (約 10 万行) の小さなサブセットです。各行は着信要求です。私がしようとしているのは、データを表示できるようにするための正しいクエリを取得することです。開始時刻を使用した、1 時間あたりのリクエストの合計量としての折れ線グラフ。すべての時間がデータセットに存在するわけではありませんが、それでも 0 として表す必要があります。最終的な目標は、Google ビジュアライゼーションの折れ線グラフに表示することです。
ID Duration Store Start End MacID
7 31 1 2013-06-08 07:46:10.000 2013-06-08 08:17:00.000 8532
4 2 1 2013-06-08 18:42:53.000 2013-06-08 18:44:06.000 8530
2 1 1 2013-06-08 14:31:20.000 2013-06-08 14:32:08.000 8529
11 213 1 2013-06-08 12:43:55.000 2013-06-08 16:16:11.000 8534
6 585 1 2013-06-08 14:03:58.000 2013-06-08 23:48:44.000 8531
28 287 1 2013-06-08 07:15:40.000 2013-06-08 12:02:10.000 8542
最終的なフォーマットは
['Hour', 'Total'],
['00', 1000 ],
['01', 1170 ],
['02', 0],
['03', 1030]
SQL 2012 とエンティティ フレームワークを使用しています。私は次のクエリを試しました
SELECT CAST(start as date) AS ForDate,
DATEPART(hour,start) AS OnHour,
COUNT(*) AS Totals
from (
SELECT * from visits
GROUP BY CAST(start as date),
DATEPART(hour,start)
ただし、データのある時間の結果のみが返されます。データを取得する最良の方法は何でしょうか? SQL または Entity Framework と、どうすればよいでしょうか?