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

 

posted on 2018-12-02 20:35  小田是我  阅读(4243)  评论(3编辑  收藏  举报

导航