SQL中的聚合函数使用总结

SQL中的聚合函数使用总结一般在书写sql的是时候很多时候会误将聚合函数放到where后面作为条件查询,事实证明这样是无法执行的,执行会报【此处不允许使用聚合函数】异常。为什么会报异常呢?其原因很简单:having放在groupby的后面 groupby后面只能放非聚合函数的列 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使…

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

一般在书写sql的是时候很多时候会误将聚合函数放到where后面作为条件查询,事实证明这样是无法执行的,执行会报【此处不允许使用聚合函数】异常。为什么会报异常呢?其原因很简单:

  • having放在group by 的后面
  • group by 后面只能放非聚合函数的列
  • where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
  • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

那聚合函数在什么情况下使用或者应该处在sql文中的哪个位置呢
聚合函数只能在以下位置作为表达式使用:

  • select 语句的选择列表(子查询或外部查询);
  •  compute 或 compute by 子句;
  • having 子句;

其实在诸多实际运用中,聚合函数更多的是辅助group by 使用,但是只要我们牢记where的作用对象只是行,只是用来过滤数据作为条件使用。

常见的几个聚合函数

  • 求个数:count
  • 求总和:sum
  • 求最大值:max
  • 求最小值:min
  • 求平均值:avg

当然还有其他类型的聚合函数,可能随着对应sql server不同,支持的种类也不一样。

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

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

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


相关推荐

  • Java面对对象编程(超详细)

    Java面对对象编程(超详细)1、成员变量和成员方法成员变量(又叫属性,字段)成员方法2、类和对象的内存分配机制Java内存的结构分析栈:一般存放基本数据类型(局部变量)堆:存放对象(Catcat,数组等)

    2022年7月2日
    23
  • OSError: cannot open resource 错误原因及解决方法[通俗易懂]

    OSError: cannot open resource 错误原因及解决方法[通俗易懂]错误类型最近学习python的时侯,初步学习了wordcloud库,很强大、很易用的一个库。但是我在进行练习的时候却遇到了OSError:cannotopenresource这样的错误,于是逐步分析每行代码,还是找到了错误。问题代码|importwordcloud,jiebaf=open(‘F:/PythonStudy/新时代中国特色社会主义.txt’,’r’,encodin…

    2022年6月24日
    29
  • 在 Ubuntu系统下安装 OpenCV 全过程

    在 Ubuntu系统下安装 OpenCV 全过程经过不断的试错、安装、删除重装……写下这篇博客,希望其他人安装时能够轻松一点,少几次还原重装……版本:ubuntu18.10OpenCV-4.1.0首先,OpenCV有在ubuntu上安装的官方文档:https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html大家可以参照官方文档进行操作…

    2022年6月15日
    24
  • springboot——kaptcha

    springboot——kaptcha导入包: <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency>配置类:p…

    2022年6月18日
    19
  • resin之jvm优化「建议收藏」

    resin之jvm优化「建议收藏」     经过几天的测试,系统终于较以前有所稳定了,特把优化后的参数发布出来,供朋友们一起讨论我的服务器配置:至强双CPU2.2G,ECC内存4G,硬盘70G,操作系统:AS4jdk1.5.0_02     没优化之前,服务器经常抛出内存溢出,物理内存居高不下,还经常抛出keepalive超过最大值500。服务器一天重启两三次,客户抱怨声不断。 &lt;jvm-arg&gt;-Xm…

    2022年5月22日
    33
  • idea查看自己的激活码_通用破解码

    idea查看自己的激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    314

发表回复

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

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