私は自分のシステムのユーザーからの活動記録を数えています。私は次のクエリのように、特定の月と年の毎日の活動カウンタを取得レコードのない日付でカウントを "ゼロ"にする
SELECT CONVERT(date, VIS_DATETIME) AS DATETIME, COUNT(*) AS ACTIVITY
FROM ACTIVITY
WHERE DATEPART(year, VIS_DATETIME) = 2016 AND
DATEPART(month, VIS_DATETIME) = 3
GROUP BY CONVERT(date, VIS_DATETIME)
ORDER BY CONVERT(date, VIS_DATETIME)
質問ならば、それはしませんが、月の28日は、すべての活動を持っていない、のは言わせ、ありますさえリストアップされます。しかし、私のチャートAPIのために、私はそれを列挙し、カウンタのために0
で取得する必要があります。
明らかに、提案を受け入れる!
何度も話し合った。カレンダーテーブルが必要です。その後、カレンダーテーブルを取得し、ACTIVITYに参加し、カレンダーテーブルのIDでグループ化します。 –
もっと革新的なものを探していましたが、ありがとう! –
これを処理するには、カレンダーテーブルまたは集計テーブルが最適です。他に何をするかわからないSQL Serverが1つを返す行がなければなりません。 –