我有一個包含date
,employeeID
(int)和ShiftWorked
(可以是night/day/weekend或evening)的表。每個員工和日期組合都有一排在一個日期範圍內滿足條件的MSSQL select count
我想構建一個查詢,該查詢給出了有多少人在名單期間的每個日期之前和之後的一週中有過多次夜班工作。
--------------------------------------------------------------------------
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天與日之後。
請發表您已經嘗試過的內容。 – 2012-04-24 09:55:41