[英]SQL - SUM BY DATE and YEAR
我正在尝试写一份现场报告。 截至目前,我可以按月MONTH(DATEADD(MM, -1, GETDATE()))
但它会增加 11 月的所有销售额。 我需要它根据当前日期-1 个月的月份和年份求和。
PS 我不能做YEAR(GETDATE()) = 2021
的 where 子句,因为这需要是一个实时报告,以防我们想让它在过去 14 个月内运行。
谢谢你。
SQL
SUM(
CASE
WHEN COALESCE(month(CONVERT(date,CONVERT(varchar(10),salesdwec.shipdate,120),101)), 0) = month(dateadd(mm, -1,getdate())) THEN
salesdwec.orderquantity
ELSE 0
END) AS 'PIROIR_MONTH'
如果您正在使用 SQL-Server,那么这应该可以工作。
SELECT YEAR(salesdwec.shipdate) 'Year',MONTH(salesdwec.shipdate) 'Month',SUM(salesdwec.orderquantity)
FROM salesdwec
WHERE DATEDIFF(MONTH,salesdwec.shipdate,GETDATE()) = 1
GROUP BY YEAR(salesdwec.shipdate) ,MONTH(salesdwec.shipdate)
正如Dale K
已经提到的,如果您提供一些示例数据会有所帮助。
编辑:
查询将 output Month
和Year
列以及订单数量。 如果您只需要订购数量,您可以使用这个。
SELECT SUM(salesdwec.orderquantity)
FROM salesdwec
WHERE DATEDIFF(MONTH,salesdwec.shipdate,GETDATE()) = 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.