【mysql】一条 SQL 数商品:一级类目销量大揭秘,3 张表层层剥洋葱!

一条 SQL 数商品:一级类目销量大揭秘,3 张表层层剥洋葱!


📌 场景

领导要看“每个一级类目下到底有多少商品”。
我们只有 3 张表:
• category(类目表)
• product(商品表)


🧠 先拼再数

在这里插入图片描述


🧩 原始数据速览

category(类目表)product(商品表)
idname
1手机
2电脑
3iPhone
4小米
5笔记本
6台式机
idname
101iPhone15
102iPhone14
103小米13
104MacBook
105Dell台式

🪜 4 步层层筛选表

步骤操作结果示例(仅展示核心列)
① 连一级类目→二级类目JOIN category c2 ON c2.parent_id = c1.id
c1_namec2_name
手机iPhone
手机小米
电脑笔记本
电脑台式机
② 把商品挂进来JOIN product p ON p.category_id = c2.id
c1_namep_name
手机iPhone15
手机iPhone14
手机小米13
电脑MacBook
电脑Dell台式
③ 分组GROUP BY c1.id, c1.name把同名行装进同一袋子
④ 计数COUNT(*)
nameproduct_cnt
手机3
电脑2

✅ 最终 SQL

SELECT c1.name,
       COUNT(*) AS product_cnt
FROM category      AS c1   -- 一级类目
JOIN category      AS c2   -- 二级类目
  ON c2.parent_id = c1.id
JOIN product       AS p    -- 商品
  ON p.category_id = c2.id
GROUP BY c1.id, c1.name;

🎯 一句话总结

先把一级类目→二级类目→商品全部连成一张大表,再按一级类目打包数行数,商品数量瞬间一目了然!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值