【发布时间】:2020-11-17 13:56:33
【问题描述】:
我有餐桌销售
Activity | Sector | dateSale | Amount
CREATE TABLE sales
(Activity nvarchar(100) ,
Sector nvarchar(100) ,
dateSale date ,
Amount as float )
我需要在同一行中计算每月和上个月十二月的日期: 预期结果例如:
Activity | Sector | AmountMonth | AmountLTD
我试图计算一个月的金额
declare @date as date,
set @date ='17-11-2020'----- I should to calculate amount in the previous month of the date parameter: all october for the same year
SELECT SUM(Amount)
,Activity
,Sector
FROM sales
WHERE [dateSale] between DATEADD(MONTH, DATEDIFF(MONTH, 0, @date)-1, 0)
and DATEADD(MONTH, DATEDIFF(MONTH, -1, @date)-1, -1)
group by Activity
,Sector
我尝试在 LTD 中计算金额,但它是错误的,我需要更正它:
declare @date as date,
set @date ='17-11-2020'----- I should to calculate amount in the ltd of the date parameter Ineed to calculate from november 2019 to october 2020
SELECT SUM(Amount)
,Activity
,Sector
FROM sales
WHERE [dateSale] between DateAdd(DAY,-Day(@Date)+1,@Date)
and DateAdd(MONTH,-13,@DateR2)
group by Activity
,Sector
请问如何在同一行进行计算?有没有其他简单的计算方法?
【问题讨论】:
-
您能否将一些测试数据和该测试数据的所需输出添加到您的问题中,最好是
create table语句? -
谢谢。理想情况下,您的表格脚本会附带一些测试数据和基于我之前提到的数据的所需输出。
标签: sql sql-server sql-server-2012