group by
group by 表示分组查询
group by有一个重要原则,使用了group by的sql语句的select的字段,要么该字段被聚合函数使用,要么该字段是group by字段,其它字段都不能出现在select之中
having
where子句的作用是对查询结果进行过滤,即在分组之前进行过滤,条件中不能包含聚合函数。
having子句作用是用来筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚合函数。
特殊注意点:对机构分组能够统计人员的数量,对人员分组能够统计机构的数量
表结构如下:
表:t_orgs_persons
org_id int,
person_id int
要查找只在一个机构中的人
select org_id from t_orgs_persons group by person_id having count(org_id)=1