mysql数据库基础:分组查询(GROUP BY),分组查询语法,where与having区别,案例演示和注意点

2025-07-23 06:00:12   今晚世界杯预测

1.分组查询语法

SELECT 字段列表 FROM 表名[WHERE 条件]GROUP BY 分组字段名 [HAVING 分组后过滤条件];

2.where与having区别

1.执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果的过滤。

2.判断条件不同:where不能对聚合函数进行判断,而having可以。

3.案例演示

test原表:

1.查询男生与女生的数量

SELECT gender,COUNT(*)AS '数量'

FROM test

GROUP BY gender;

2. 统计男生与女生的平均年龄

SELECT gender AS '性别' ,AVG(age) AS '平均年龄'

FROM test

GROUP BY gender;

3.查询年龄小于30,并根据工作地点分组,获取数量大于等于3的地址

test2原表:

SELECT address AS '地址',COUNT(*) AS '数量'

FROM test2

WHERE age<30

GROUP BY address

HAVING COUNT(*)>=3

注意:

1.执行顺序:where>聚合函数>having。

2.分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

2025最新Pokemon GO技能排行榜 & 快速選擇最強技能攻略
提手旁的字