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
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
