mysql中group by分组
为了测试group by语句,我们首先创建一个表:
然后向表内添加数据:
然后我们查看一下表的内容
接着我们分别按照性别和年龄对这个表进行分组;
我们可以看到表内的数据没有原表的多了,原因就是分组有去重的功能,他会把一个字段内相同的内容给合并成一个
group by 操作:
group by 字段名; 将查询结果按照1个或多个字段进行分组,字段值相同的为一组
group by 可用于单个字段分组 ,也可用于多个字段分组
select gender,group_concat(name) from student group by gender;
group_concat(字段名) 可以作为一个输出字段来使用,表示分组之后,根据分组结果,使用group_concat()来防止每一组的某字段的值得集合
select gender,count(*) from students group by gender having count(*) > 2;
group by 可以加where条件,where条件必须加以group by 前面
having 条件表达式:用来分组查询后指定一些条件来输出查询结果
having作用和where一样,但having只能用于group by