mysql分组查询方法_mysql 分组查询教程

1.分组

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

2.分组的特点

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

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

3 分组的用法

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

6595704d7378c51158591e98d710754a.png

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

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

66b79af9773c17e77403e9e2beaa66f2.png

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

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

578a3e1c1d3d2004317841fcdab89368.png

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

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

99d0af694f36974560be9a7bb774169c.png

总结:

group by 关键字能根据1个或多个字段对数据进行分组

group_concat函数作用就是将每个分组中的每个成员的指定个字段拼接在一行中显示

聚合函数在和 group by 结合使用时, 统计的对象是每个分组

having 是对分组结果进行条件过滤

with rollup在分组结果最后新增一行完成汇总显示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值