impala-如何查询一段时间内累计销售的产品数量?

lrpiutwd  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(716)

刚开始学习impala中的sql查询,我仍然不知道如何获得想要的结果。
所以我有一张table:

我想了解一下如何获得一段时间内(从2020年12月1日到2020年12月3日)销售的不同产品的数量。
因此,第一天我们销售了两种类型的产品(产品标识1和2),第二天我们销售了前一天比较的同一类型的产品,因此累计仍然是2,最后一天我们销售了前两天没有销售的产品,因此累计将是第三天销售的3种类型的产品

提前谢谢!

yruzcnhs

yruzcnhs1#

只需在首次销售时进行聚合,然后进行简单的聚合和累计:

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日。我猜这在你的真实数据中不是问题。如果是,你可以用 left join 把所有的日期都带进来。

相关问题