バックグラウンド
追跡しているさまざまなアクティビティのログを含むテーブルを SQL Server 環境にセットアップしています。特定のログ アイテムでは、一意のコードを使用して、発生しているアクティビティを分類し、日時フィールドでそのアクティビティがいつ発生したかを追跡します。
問題
単一のクエリまたはストアド プロシージャを使用して、曜日ごとにグループ化された時間単位のアクティビティ数の平均を取得したいと考えています。例:
Day | Hour | Average Count
-------------------------------
Monday | 8 | 5
Monday | 9 | 5
Monday | 10 | 9
...
Tuesday | 8 | 4
Tuesday | 9 | 3
...etc
現在、1 日 1 時間あたりのカウントを吐き出すクエリ設定がありますが、私の問題はそれをさらに一歩進めて、曜日ごとに平均を取得することです。これが私の現在のクエリです:
SELECT CAST([time] AS date) AS ForDate,
DATEPART(hour, [time]) AS OnHour,
COUNT(*) AS Totals
FROM [log] WHERE [code] = 'tib_imp.8'
GROUP BY CAST(time AS date),
DATEPART(hour,[time])
ORDER BY ForDate Asc, OnHour Asc
これを達成する方法について何か提案はありますか?
前もって感謝します!