MySql - GROUP BY 和 HAVING关键字

本文详细解析了SQL中GROUPBY与HAVING的功能与用法。通过实例演示了如何使用GROUPBY进行数据分组及去重,并介绍了HAVING用于设置分组后的筛选条件。适合初学者了解这两个关键字的具体应用。

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

本文主要针对GROUP BY 和 HAVING两个关键字进行分析

使用测试表如下:

   

测试前,只知道GROUP BY 这个关键字的作用是根据一个字段进行分组,去重。HAVING对分组设置条件。

具体分组规则,设置条件不清楚。

 

测试开始

首先

单独使用GROUP BY对 kecheng 字段进行分组:

SELECT * from a GROUP BY kecheng

执行sql,结果如下:

  

分析:

  根据 kecheng 字段分组,并去重了,去重规则为  kecheng  的第一条数据。

 

然后

加上HAVING,对分组进行设置条件:

  SELECT * from a GROUP BY kecheng HAVING fenshu > 80

执行sql,结果如下:

  

分析:

  本次结果相对于上次,少了一条数据

  张三   数学   75

  可以看出 HAVING 条件,是在 GROUP BY 分组后进行的筛选。

 

 

总结:

  GROUP BY,对一个字段进行去重(取第一条),分组, 

   HAVING  配合 GROUP BY 使用,对分组后的数据进行限制,可以使用聚合函数。

  

注:本贴具体测试情况没有贴出,只是写出了测试后的数据结果。

参考:https://blog.csdn.net/quinnnorris/article/details/71056445

https://www.cnblogs.com/lao-tang/p/6398577.html

转载于:https://www.cnblogs.com/JonMingrev/p/10144622.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值