运行total只返回当月的最后一个条目-SQL

运行total只返回当月的最后一个条目-SQL,sql,sql-server,Sql,Sql Server,例如,我有下表 Sku 日期 滚动总计 SKU1 01/02/2021 10 SKU1 02/02/2021 15 SKU1 03/02/2021 7. SKU2 01/02/2021 15 SKU2 02/02/2021 18 SKU2 03/02/2021 30 SKU1 01/03/2021 7. SKU1 02/03/2021 15 SKU1 03/03/2021 18 SKU2 01/03/2021 10 SKU2 02/03/2021 30 SKU2 03/03/2021 143 在

例如,我有下表

Sku 日期 滚动总计 SKU1 01/02/2021 10 SKU1 02/02/2021 15 SKU1 03/02/2021 7. SKU2 01/02/2021 15 SKU2 02/02/2021 18 SKU2 03/02/2021 30 SKU1 01/03/2021 7. SKU1 02/03/2021 15 SKU1 03/03/2021 18 SKU2 01/03/2021 10 SKU2 02/03/2021 30 SKU2 03/03/2021 143
在没有任何数据示例的情况下,我认为您可能需要以下内容:

SELECT *
FROM
(
    SELECT rn = ROW_NUMBER() OVER(PARTITION BY sku
           ORDER BY date DESC)
         , count = sum(qty)
         , sku
    FROM yourtable
    group by sku, date
) a
WHERE a.rn = 1

你好当我发帖的时候,请遵循这个原则,我有点迷路了。结果似乎与样本数据不一致。谢谢你的回答。使用下面的解决方案,我得到以下错误消息8120,级别16,状态1,第32行列“yourtable.Date”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。选择*FROM SELECT rn=行数\按SKU超额分配按[Date]说明,计数=汇总\总计,按SKU a从您的表组中选择SKU,其中a.rn=1这只是意味着我忘了按向组中添加日期。但看起来你试图运行我写的东西。您需要使用正在查询的表的名称修改yourtable。