簡體   English   中英

在SQL Server中循環執行月份

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM