mysql数据查询 4.分组查询

mysql数据查询 4.分组查询

1)分组查询

对列先进行分组group by,在分组基础上使用聚合函数。

需求1:查询likes的分布情况。

select likes as “爱好”,count(*) from infor group by likes;

需求2:查询likes的分布情况,并且查询出每一种likes所包含的姓名。

select likes as "爱好",count(*) as "人数",group_concat(name) as "姓名" from infor group by likes;

2)分组筛选

(1)使用group by + having(条件)

需求:查询人数大于等于2的likes。

 select likes as “爱好”,count(*) as “人数” from infor group by likes having count(*) >= 2;

(2)where与having

where是对from后指定表进行数据筛选,属于对原始数据进行筛选。

having是对group by的结果进行筛选。