好的,所以我正在嘗試爲我的表中的每個消息類型創建一個TSQL結果集,用於今日,上週,上個月和本週。不同的消息類型是101,103,202。今天,上週,上個月,本週的多個選擇
下面的sql產生我需要的輸出,但我無法弄清楚如何過濾基於三種消息類型的結果。
Select distinct
(Select Count(*) from MsgDateDetail
Where convert(date,MsgDate,103) = Convert(date,GETDATE())
And SenderBIC = @senderbic) As Today,
(Select Count(*) from MsgDateDetail
Where MsgDate Between DATEADD(dd, -(DATEPART(dw, GetDate())-1)-7, GetDate())
And DATEADD(dd, 7-(DATEPART(dw, GetDate()))-7, GetDate())
And SenderBIC = @senderbic) As LastWeek,
(Select Count(*) FROM MsgDateDetail
Where convert(date,MsgDate,103) = (DATEADD(mm,-1, Convert(date,GETDATE())))
And SenderBIC = @senderbic) AS LastMonth,
(Select Count(*) from MsgDateDetail
Where MsgDate between (DATEADD(week, DATEDIFF(week,0,GETDATE()),-1)) AND getDate()
And SenderBIC = @senderbic) AS ThisWeek
FROM MsgDateDetail h1
*編輯*
後從洛洛 結果
你能澄清一下re:消息類型嗎?它是什麼領域 - SenderBIC?每個包含該類型計數的消息類型是否需要1行? – AdaTheDev
對不起。該字段是MsgType。所以上面的表結果包含了所有的消息類型,我需要在每個消息中輸入一行 – CSharpNewBee