MySql中【group by】的使用

这篇博客详细介绍了MySQL中GROUP BY子句的使用,包括如何按照查询结果的某一列进行分组,以及与ORDER BY配合使用时的顺序。讨论了细化集函数如COUNT、SUM、AVG、MAX、MIN在分组前后的应用。同时,解释了GROUP BY作用于查询的中间结果表,并给出了一列或多列属性分组的例子。HAVING短语用于筛选满足特定条件的组,与WHERE子句的区别在于HAVING作用于组级别。给出了多个使用HAVING短语的查询示例,如查询平均成绩高于特定课程平均成绩的学生学号,以及选修超过3门且所有课程成绩高于60分的学生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

group by:分组

按照查询结果的某一列进行分组,值相同的为一组
group by 和 order by 一起使用时,会先使用group by 分组

1、细化集函数(count,sum,avg,max,min)的作用对象:
未对查询结果分组,集函数将作用于整个查询结果。
对查询结果分组后,集函数将分别作用于每个组。

①对整个表进行count

select cno,count(sno) from sc

在这里插入图片描述
②对分组的表进行count

select cno,count(sno) from sc group by cno

在这里插入图片描述

2、group by子句的作用对象是查询的中间结果表
分组方法:按指定的一列或多列值分组,值相等的为一组。使用GROUP BY子句后,SELECT子句的列名列表中只能出现分组属性(比如:sno)和集函数(比如:count())

①一列属性进行分组

select sno,count(cno) from sc group by sno

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值