ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
:-: DQL-分组查询 1.语法 ``` SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件]; ``` 2.where与having区别 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。 判断条件不同:where不能对聚合函数进行判断,而having可以。 注意事项 1.执行顺序:where > 聚合函数 > having 。 2.分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。 ``` -- 分组查询 group by -- 1.根据性别分组,统计男性员工 和 女性员工的数量 select gender,count(*) from emp group by gender; -- 2.根据性别分组,统计男性员工和女性员工的平均年龄 select gender,gvg(age) from emp group by gender; -- 3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址 select workaddress,count(*) from emp where age < 45 group by workaddress; -- 获取员工数量大于等于3的工作地址 select workaddress,count(*) from emp where age < 45 group by workaddress having count(*) >= 3; ```