![](/img/trans.png)
[英]How to split the specify date range into monthly wise in sql server and loop through each month to perform some operation
[英]Loop through month in SQL Server
每年我們都有12個月。 我應該編寫一個查詢,每個月在一個表中選擇。 例如,我應該制作報告,告訴我每個月的交易次數。
我做錯了,但做錯了。
我每個月都寫了12個查詢。
像這樣 :
SET @MONTH12M = (SELECT SUM(Amount) AS TOT
FROM [fidilio].[dbo].[CardTransactionLog] CL
JOIN CardTransaction CT ON CT.CardTransactionLogId = CL.CardTransactionLogId
WHERE (cl.TransactionPersianTimeStamp > N'1393/12/01'
AND cl.TransactionPersianTimeStamp< N'1393/12/31')
)
INSERT INTO #TEMP(MonthValue, CountValue, TypeValue)
SELECT
12,
CASE WHEN @MONTH12M IS NULL THEN 0 ELSE @MONTH12M END,4
我有11個這樣的查詢。
最后我獲取了我放入臨時表的結果。
我怎么能動態地這樣做?
我怎么能用循環呢?
您可以使用group by
每月生成統計信息:
select month(date_column)
, sum(amount)
from YourTable
group by
month(date_column)
在T-SQL函數month
提取月份數字從datetime列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.