📑 查看全课大纲(第 4 / 5 节)
GROUP BY 分组与聚合
GROUP BY 分组与聚合
在小象咖啡馆的日常经营中,比起看一笔笔零散的流水明细,店长更关心宏观的汇总指标。比如:今天总共卖出了多少杯咖啡?总销售额是多少?顾客单笔平均消费是多少?这就轮到聚合函数登场了:
COUNT():统计行数(订单总笔数)。SUM():求数值列的总和(总销售额)。AVG():求数值列的平均值(平均客单价)。
例如,计算小象咖啡馆所有订单的平均消费金额:
SELECT AVG(amount) AS avg_spend FROM orders;📝 选择题
💡 侦探排雷:统计朝阳分店订单数 小象咖啡馆“朝阳分店”店长想知道今天店里总共接待了多少笔订单。以下哪条 SQL 查询语句能正确统计出该店的订单总数(数据表为 orders,分店字段为 branch_name)?
- A. SELECT SUM(order_id) FROM orders WHERE branch_name = ‘Chaoyang’;
- B. SELECT COUNT(*) FROM orders WHERE branch_name = ‘Chaoyang’;
- C. SELECT COUNT(all) FROM orders WHERE branch_name = ‘Chaoyang’;
- D. SELECT COUNT(amount) FROM orders WHERE branch_name = ‘Chaoyang’ GROUP BY order_id;
答案:B(SELECT COUNT(*) FROM orders WHERE branch_name = ‘Chaoyang’;)
如果我们想按某些类别进行分别汇总,就需要配合使用 GROUP BY 子句。
例如,店长想知道小象咖啡馆每个分店 branch_name 的平均销售额,SQL 语句可以这样写:
SELECT branch_name, AVG(amount) AS avg_amount
FROM orders
GROUP BY branch_name;这样 SQL 就会先将所有订单按照分店名称进行分组,然后在每个组内单独计算 AVG(amount) 并输出。
✏️ 填空题
💡 侦探实战:按饮品品类统计营业额 为了帮小象咖啡馆分析哪类产品最赚钱,我们需要统计订单明细表 order_details 中每个饮品分类 category 的总营业额 SUM(amount)。请补全下方 SQL 代码:
# 按品类分组统计总营业额
SELECT category, SUM(amount) FROM order_details
___ BY category;答案:GROUP
🎁 免费学习资源
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问