Hive 刷题——销售额完成任务指标的商品
需求描述
商家要求每个商品每个月需要售卖出一定的销售总额假设1号商品销售总额大于21000,2号商品销售总额大于10000,其余商品没有要求请写出SQL从订单详情表中(order_detail)查询连续两个月销售总额大于等于任务总额的商品
结果如下:
sku_id
(商品id)
|
1
|
需要用到的表:
订单明细表:order_detail
参考
|
order_id(订单id)
|
sku_id(商品id)
|
create_date(下单日期)
|
price(商品单价)
|
sku_num(商品件数)
|
1
|
1
|
1
|
2021-09-30
|
2000.00
|
2
|
2
|
1
|
3
|
2021-09-30
|
5000.00
|
5
|
22
|
10
|
4
|
2020-10-02
|
6000.00
|
1
|
23
|
10
|
5
|
2020-10-02
|
500.00
|
24
|
24
|
10
|
6
|
2020-10-02
|
2000.00
|
5
|
参考SQL
select sku_id from (select t.sku_id, create_month, total_amaunt, flag_max, lag(total_amaunt, 1) over (partition by t.sku_id order by create_month) next_month from (select sku_id, month(create_date) create_month, sum(sku_num * price) total_amaunt from order_detail group by sku_id, month(create_date)) t join (select '1' sku_id, 21000 flag_max union all select '2' sku_id, 10000) t1 on t.sku_id = t1.sku_id) i where next_month > flag_max and total_amaunt > flag_max;