码迷,mamicode.com
首页 > 数据库 > 详细

mysql 分组查询教程

时间:2018-08-14 21:01:44      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:student   png   分享   关键字   聚合   highlight   添加   行数据   含义   

1.分组

  分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。

 

2.分组的特点

  1.)group by的含义:将查询结果按照1个或多个字段进行分组,字段值相同的为一组

  2.)group by可用于单个字段分组,也可用于多个字段分组

 

3 分组的用法

select 字段名 from 数据表 group by 分组字段名

技术分享图片

 

4 使用分组时相当于把某个字段按照某个要求叠在了一起,这时候使用普通的方法无法查看每个组的内容,需要group_concat(分组的字段名)来查询

select 分组字段名 group_concat(字段名) from 数据表 group by 分组字段名

技术分享图片

 

5.当你需要某些需求的查询,需要为分组查询添加一个限制条件,这时候不能使用where进行条件筛选,应该使用having进行条件筛选

select gender,count(*) from students group by gender having count(*)>2;

  

技术分享图片 

 

6.当你需要对数据表的分组进行汇总的,可以使用 with rollup 方法(当不配合分组使用时默认对全数据表进行汇总)

select gender,count(*) from students group by gender with rollup;

技术分享图片

 

总结:

  1. group by 关键字能根据1个或多个字段对数据进行分组
  2. group_concat函数作用就是将每个分组中的每个成员的指定个字段拼接在一行中显示
  3. 聚合函数在和 group by 结合使用时, 统计的对象是每个分组
  4. having 是对分组结果进行条件过滤
  5. with rollup在分组结果最后新增一行完成汇总显示。

 

mysql 分组查询教程

标签:student   png   分享   关键字   聚合   highlight   添加   行数据   含义   

原文地址:https://www.cnblogs.com/xuchuankun/p/9477453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!