Sql 黑斑羚-如何查询累计不同数量的产品销售随着时间的推移?

Sql 黑斑羚-如何查询累计不同数量的产品销售随着时间的推移?,sql,impala,cumulative-sum,Sql,Impala,Cumulative Sum,刚开始在Impala中学习sql查询,我仍然不知道如何获得所需的结果 所以我有一张桌子: 我想了解如何获得2020年12月1日至3日期间不同产品的销售数量 因此,第一天我们销售了两种类型的产品1和2,第二天我们销售了前一天比较的相同类型的产品,因此累积值保持为2,最后一天我们销售了前两天未销售的产品,因此累积值将是第三天销售的3种产品 提前谢谢 只需在第一次销售时进行简单的汇总,然后进行简单的汇总和累计: select min_sold_date, sum(count(*)) over (ord

刚开始在Impala中学习sql查询,我仍然不知道如何获得所需的结果

所以我有一张桌子:

我想了解如何获得2020年12月1日至3日期间不同产品的销售数量

因此,第一天我们销售了两种类型的产品1和2,第二天我们销售了前一天比较的相同类型的产品,因此累积值保持为2,最后一天我们销售了前两天未销售的产品,因此累积值将是第三天销售的3种产品


提前谢谢

只需在第一次销售时进行简单的汇总,然后进行简单的汇总和累计:

select min_sold_date, sum(count(*)) over (order by min_sold_date)
from (select product_id, min(sold_date) as min_sold_date
      from t
      where sold_date >= ? and sold_date <= ?
      group by product_id
     ) t
group by min_sold_date;

对于您的样本数据,这将不包括12月2日。我猜这在你的真实数据中不是问题。如果是,您可以使用左连接来输入所有日期。

SQL Server 2014是否可以将over与group by一起使用?我在使用两者时都出错了@劉鎮瑲 . . . 对所有支持窗口函数的数据库都可以在不使用子查询的情况下一起使用它们。似乎您希望查询返回。