软件测试笔记|数据库基础|having是干嘛的?

在 SQL 中,HAVING子句主要用于对分组后的数据进行筛选。

一、作用

1. 筛选分组结果

• 在使用聚合函数进行分组统计后,HAVING可以根据聚合函数的结果来过滤那些满足特定条件的分组。例如,要找出订单总金额大于 1000 的客户,可以先按客户进行分组,计算每个客户的订单总金额,然后使用HAVING子句筛选出总金额大于 1000 的客户分组。

2. 与聚合函数配合使用

• 通常与聚合函数如SUM(求和)、AVG(平均值)、COUNT(计数)等一起使用,对分组后的结果进行条件判断。例如,使用COUNT函数统计每个部门的员工人数,然后通过HAVING筛选出员工人数大于 10 的部门。

二、与WHERE子句的区别

1. 作用对象不同

• WHERE子句在分组之前对数据进行筛选,作用于表中的每一行数据。

• HAVING子句在分组之后对数据进行筛选,作用于分组后的结果集。

2. 使用场景不同

• 如果要基于单个行的条件进行筛选,使用WHERE子句。例如,筛选出年龄大于 30 的员工记录。

• 如果要基于分组后的聚合结果进行筛选,使用HAVING子句。例如,找出平均工资大于 5000 的部门。

三、语法结构


SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE condition
GROUP BY column1, column2
HAVING aggregate_condition;


其中,aggregate_function是聚合函数,aggregate_condition是基于聚合函数结果的条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳哥整理软件测试笔记

博文不易,打赏让创作更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值