我想看到所有单位都像这样出售
select [UnitsSold] from MyTable
但我还要添加另一个列,仅显示过去30天内的UnitsSold
怎么做到这一点:
MyTable.CreatedOn >= DATEADD(MONTH, -1, GETDATE())
但仅适用于一列。
所以基本上我想在同一行看到所有售出的单位,然后在过去的30天内销售单位
答案 0 :(得分:2)
您可以在聚合函数中使用CASE
语句,类似....
Select SUM([UnitsSold]) TotalSold
, SUM(CASE WHEN CreatedOn >= DATEADD(MONTH, -1, GETDATE())
THEN [UnitsSold] ELSE 0 END) SoldInLastMonth
FROM MyTable