好的,所以我正在尝试为我的表中的每个消息类型创建一个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