过去30天的SQL Server数据&所有数据

时间:2017-01-15 22:43:26

标签: sql-server

我想看到所有单位都像这样出售

select [UnitsSold] from MyTable

但我还要添加另一个列,仅显示过去30天内的UnitsSold

怎么做到这一点:

MyTable.CreatedOn >= DATEADD(MONTH, -1, GETDATE())

但仅适用于一列。

所以基本上我想在同一行看到所有售出的单位,然后在过去的30天内销售单位

1 个答案:

答案 0 :(得分:2)

您可以在聚合函数中使用CASE语句,类似....

Select  SUM([UnitsSold]) TotalSold
      , SUM(CASE WHEN CreatedOn >= DATEADD(MONTH, -1, GETDATE()) 
            THEN [UnitsSold] ELSE 0 END) SoldInLastMonth   
FROM MyTable