我想看看过去24小时、一周、一个月,不同的促销活动有多成功。为了得到过去24小时的促销金额,我已经使用了这个代码,但我不明白如何获得另外两列的最后一周和最后一个月。最后我想按上周的数量降序订购。我想在这个月的任何时候都能运行这个查询。请帮帮我。
SELECT Promotion
, Sum(Amount) AS Last_24
FROM dbo.CustomerPayment
WHERE Started >= DATEADD(day, - 1, GETDATE())
GROUP
BY Promotion
3条答案
按热度按时间ecfsfe2w1#
您可以在单个查询中执行此操作:
请注意,此部分:
正如你对“上个月”概念的解释所阐明的那样。
nzkunb0c2#
使用条件聚合——也就是说,将条件移动到
select
:不过,有一个可能的问题。
GETDATE()
--不管它的名字是什么--返回日期的时间组件。我怀疑你可能真的想把这当成一个约会,而不是一个约会时间:kh212irz3#
我在找月/周。不是7/30天。
如果您希望这样,只需使用变量使查询可读。