Skip to content

4.3 — 多级分组

你将学到什么

  • 如何在 SQL 中按多列分组
  • 与 Excel 数据透视表嵌套行标签的对比

多列分组

以下是示例中使用的销售数据:

ProductAmountSaleDate
Apples502024-05-01
Apples602024-05-01
Apples302024-05-02
Apples202024-05-02
Oranges402024-05-01
Oranges402024-05-01
Oranges252024-05-03
Oranges152024-05-03

在 Excel 的数据透视表中,你可以添加多个行标签。在 SQL 中,只需在 GROUP BY 里列出多个列。

示例:按产品和日期统计销售总额

sql
SELECT Product, Date, SUM(Amount) AS Total_Sales, AVG(Amount) AS AVG_Sales
FROM sales
GROUP BY Product, Date
ORDER BY Product, Date;
  • 每个产品和日期的组合各占一行。

关键点

  • GROUP BY 里列出多个列,实现更细致的汇总。
  • GROUP BY 的列顺序影响分组方式。

下一步

接下来你将学习如何用 HAVING 子句筛选分组结果。