group分组查询

什么是分组?

将一个数据集划分成若干个小区域,然后针对若干个小区域进行处理

group by分组

使用特点

-- 按照性别分组,查询所有数据
SELECT gender FROM students GROUP BY gender;

-- 计算每种性别中的人数
SELECT gender, COUNT(*) FROM students GROUP BY gender;

-- 查询同种性别中的姓名
SELECT GROUP_CONCAT(name),gender FROM students GROUP BY gender;

-- 查询每组性别中的平均年龄
SELECT AVG(age),gender FROM students GROUP BY gender;

-- 查询平均年龄超过30岁的性别,以及姓名
SELECT GROUP_CONCAT(name),gender FROM students GROUP BY gender HAVING AVG(age) > 30;

-- with rollup 汇总的作用(了解)
SELECT COUNT(*),gender FROM students GROUP BY gender WITH ROLLUP; -- 对各个性别分组,最后进行汇总