having 和where 都是用来筛选用的 having 是筛选组 而where是筛选记录 他们有各自的区别 1》当分组筛选的时候 用having 2》其它情况用where-----------------------------------------------------用having就一定要和group by连用,用group by不一有having (它只是一个筛选条件用的)-------------------------------------------------------例子表结构部门编号 姓名 工资 1 aa 2000 2 bb 1200 1 cc 2100 2 dd 1800 1 ee 2100 3 ff 8000 2 gg 2200 3 hh 4500 查询有多个员工的工资不低于2000的部门编号(就是说如果一个部门的员工大于2000的人数有两个或两个以上就查询出来) select 部门编号,count(*) from 员工信息表where 工资>=2000group by 部门编号having count(*)>1 where 针对每一条记录筛选而 having 对同一个部门的分组count(*)>1 计算多于两个的部门 查询结果为 1 33 2
时间: 2024-10-10 09:42:52