MySQL的HAVING用法「建议收藏」

MySQL的HAVING用法「建议收藏」来自:https://blog.lmlyz.online/index/detail/id/59.htmlwhere、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having若须引入聚合函数来对groupby结果进行过滤则只能用having。(是先执行聚合函数还是先过滤然后比对我上面列出的执行顺序…

大家好,又见面了,我是你们的朋友全栈君。

来自:https://blog.lmlyz.online/index/detail/id/59.html
where、聚合函数、having 在from后面的执行顺序:
where>聚合函数(sum,min,max,avg,count)>having
若须引入聚合函数来对group by 结果进行过滤 则只能用having。( 是先执行聚合函数还是先过滤 然后比对我上面列出的执行顺序 一看便知)
HAVING语句通常与GROUP BY语句联合使用,用来过滤由GROUP BY语句返回的记录集。
HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。
语法:
SELECT column1, column2, … column_n, aggregate_function (expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, … column_n
HAVING condition1 … condition_n;
如果想查询平均分高于80分的学生记录可以这样写:
SELECT id, COUNT(course) as numcourse, AVG(score) as avgscore
FROM student
GROUP BY id
HAVING AVG(score)>=80;
在这里,如果用WHERE代替HAVING就会出错。
注意事项 :
1、where 后不能跟聚合函数,因为where执行顺序大于聚合函数。
2、where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
3、having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150481.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是螺旋式上升理论_否定之否定螺旋式上升

    什么是螺旋式上升理论_否定之否定螺旋式上升![](https://upload-images.jianshu.io/upload_images/10892560-417ca4f86b6b5b02.png)1.这个世界没有任何一条线是直线2.

    2022年8月5日
    10
  • clickhouse支持sql_clickhouse库的使用

    clickhouse支持sql_clickhouse库的使用CREATETABLEzhida.SRC_ZD_HQLM_SUM(“ID”Nullable(VARCHAR2(255)),”SHOWID”VARCHAR2(255),”YEAR”VARCHAR2(255),”ZHIDA_PEOPLE_NUM”Int32,”ZHIDA_PEOPLE_MONEY”Nullable(Decimal(38,2)),”ZHIDA_ENT_NUM”Int32,”ZHIDA_ENT_MONEY”Decimal(38,2))ENG

    2022年10月17日
    3
  • MATLAB图像识别_多模态图像配准

    MATLAB图像识别_多模态图像配准基于SIFT特征的图像配准(附Matlab源代码) 本文先给出了采用SIFT方法进行图像配准的实验原图以及实验结果,最后附上Matlab源代码。 实验一:      实验一的图像(见图1.1)是本人自己拍摄的,然后由软件裁剪成400×400像素而成,其中参考图像和待配准图像之间有重叠部分,且具有一定的旋转。这是一般难度的图像配准。

    2025年5月29日
    4
  • MySQL安装配置教程(超详细!)

    MySQL安装配置教程(超详细!)Windows下有两种安装MySQL的方式:图形界面安装(.msi文件)免安装版(.zip压缩文件)MySQL下载官网:http://www.mysql.com也可前往百度网盘提取(两种安装方式文件都有):链接:https://pan.baidu.com/s/1NMRUu_E098h4ErzSXTUKgA提取码:3tfb一、MySQL免安装版配置教程http://c.biancheng.net/view/2412.html二、MySQL图形界面安装(一)安装MySQL1.打开安

    2022年5月31日
    40
  • 零基础学Java(3)运算符

    零基础学Java(3)运算符运算符运算符用于连接值。Java提供了一组丰富的算术和逻辑运算符以及数学函数。算术运算符在Java中,使用算术运算符+、-、*、/表示加、减、乘、除运算。当参与/运算的两个操作数都是整数时,表示

    2022年7月31日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号