19. 统计每日商品1和商品2销量的差值

题目需求

从订单明细表(order_detail)中统计每天商品1和商品2销量(件数)的差值(商品1销量-商品2销量)。

期望结果如下:

create_date diff
2020-10-08 -24
2021-09-27 2
2021-09-30 9

需要用到的表:

订单明细表:order_detail

order_detail_id(订单明细id) 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

实现一

select create_date,
       sum(if(sku_id = 1, sku_num, 0)) - sum(if(sku_id = 2, sku_num, 0)) diff
from order_detail
-- 方法二: 使用 in()
where sku_id in (1, 2)
group by create_date
-- 方法一: 使用 array_contains() 筛选出购买过 sku_id =1 or 3 的 create_date
-- having array_contains(collect_set(sku_id), '1')
--     or array_contains(collect_set(sku_id), '3')

题目来源

http://practice.atguigu.cn/#/question/19/desc?qType=SQL

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>