sql中where和having的用法

sql中where和having的用法

一、报错

invalid use of group function即“集函数的无效用法”

二、示例

错句示例:

               SELECT sname AS '优秀学生姓名',AVG(score) as '平均成绩' FROM `grade_info` WHERE AVG(score)>90 GROUP BY sno;

正确写法:

               SELECT sname AS '优秀学生姓名',AVG(score) as '平均成绩' FROM `grade_info` GROUP BY sno HAVING AVG(score) > 90 ;

三、区别

WHERE和HAVING的区别在于:

where

            子句的作用是对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。

having

            子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值