我有一個查詢,可以計算一個月內的行數(distinct child_name)。我想寫一個查詢,這樣我可以將總計帶回多個月。我希望能夠選擇一個時間範圍,並且在我選擇自動計算的範圍內有幾個月沒有每個月的硬編碼。我讀了一些關於循環和序列的信息,但我發現很難理解。按時間範圍確定的每月計數
DECLARE @From_DT DATE = '2012-07-01', @To_DT DATE = '2013-7-30';
SELECT count(Child_Name) as July12_Count
FROM ECMS_BACKUP.dbo.vw_B2H_CLIENTS
WHERE CLT_NBR IN (SELECT CLT_NBR FROM ECMS_BACKUP.dbo.ufn_B2H_Enrolled_Clients_List(@From_DT, @To_DT))
我想像下面的結果沒有硬編碼。
如果我選擇:
DECLARE @From_DT DATE = '2012-07-01', @To_DT DATE = '2013-10-31';
我會得到這樣的:
July12_Count Aug13_Count Sep13_Count Oct13_Count
251 255 250 245
任何意見表示讚賞!
不知道'ufn_B2H_Enrolled_Clients_List(@From_DT,@From_DT)'應該是'ufn_B2H_Enrolled_Clients_List(@From_DT,@To_DT)'(注意,從'變化@ From_DT'到'@ To_DT') –
@Martin Parkin是的,它應該是From_DT到To_DT。謝謝。 – user2270911
'@ From_DT'和'@ To_DT'之間的最大時間間隔是多少?少於1年或更長?如果某些用戶使用這些參數執行此存儲過程會怎樣?'2012-01-01''和'2013-0-30''? –