刚开始在Impala中学习sql查询,但我仍然不知道如何获得所需的结果。
所以我有一张桌子:
我想了解如何获得随时间推移(从2020年12月1日至2020年12月3日)销售的独特产品的数量。
因此,第一天我们卖出2种类型的产品(product_id 1和2),第二天我们卖出同一类型的产品(与前一天相比),因此累计为2,而最后一天我们卖出了两天前未售出,因此在第三天累计将售出3种产品
谢谢!
答案 0 :(得分:1)
只需进行汇总即可获得首次出售的商品,然后进行简单的汇总和累计金额:
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
来输入所有日期。