date
、employeeID
(int) 、およびShiftWorked
(夜/日/週末または夕方)を含むテーブルがあります。従業員と日付の組み合わせごとに行があります
名簿期間の各日付の前後の 1 週間に夜勤を行った人数をカウントするクエリを作成したいと考えています。
--------------------------------------------------------------------------
Date (yyyy-MM-dd) | CountOfNightshifts(for 1 week either side of date)
--------------------------------------------------------------------------
2012-1-1 | 8
2012-1-2 | 12
2012-1-3 | 11
2012-1-4 | 6
etc | etc
これが明確であることを願っています。これを機能させるために何日も費やしましたが、どこにも行きません。
例えば:
SELECT COUNT(id), [date]
FROM ROSTER
WHERE Shift = night AND [date] BETWEEN DATEADD(D,-7,[date]) AND DATEADD(d,7,[date])
GROUP by [date]
group by [date]
これにより、日付のリストとその特定の日の夜の数が表示されます。日付の前後の 7 日間のすべての夜勤ではありません。