汇总数据

SELECT
SUM (column_a) AS total_a
MAX(column_b)
AVG(column_c)
MIN(column_d)
COUNT(column_e)
……
FROM table_a
WHERE statement

GROUP BY

将sum得到的数据按照GROUP BY 后面的列名称分组
注意关键词的顺序
USE数据库名称
SELECT
FROM
WHERE
GROUP BY
ORDER BY
记得在SELECT语句中包含分组的列名称

HAVING子句

跟在GROUP BY 子句后面,类似于WHERE,都可以使用复合形式
WHERE用于在分组前筛选数据,HAVING用于在分组后筛选数据

WITH ROLLUP

为聚合后的分组后的各组数据每列(有意义的列)添加一个总和
GROUP BY name WITH ROLLUP
现实的结果将是每个人的名字,以及相关数据的聚合,额外在最下面一行会汇总数据集。
当然也可以按照多列进行分组,WITH ROLL UP 后能看到第一次分组得到的各个数据集的汇总