我们在编写较为复杂的SQL语句的时候,常常会遇到需要将sum()放到where后面作为条件查询,事实证明这样是无法执行的,执行会报【此处不允许使用分组函数】异常。

那么如何解决呢,使用HAVING关键字

示例:

select sum(amount)  
from table

group by clientId

having sum(amount) >100

特别注意:

1、having放在group by 的后面(这不是废话吗)

2、group by 后面只能放非聚合函数的列

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

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

having 子句被限制子已经在SELECT语句中定义的列和聚合表达式上。通常,你需要通过在HAVING子句中重复聚合函数表达式来引用聚合值,就如你在SELECT语句中做的那样。例如:

SELECT A COUNT(B) FROM TABLE GROUP BY A HAVING COUNT(B)>2

SQL中关于where后面不能放聚合函数(如sum等)的解决办法相关推荐

  1. SQL语言数据库自学整理1:聚合函数(Aggregate Founction) 2022.3.8

    由于学校老师讲得太慢,所以抽出时间来整理知识点. 说明:本系列文章使用了一个学校给的电影数据库 其中包含movies,people,credit等库,里面存放了数以万计的电影信息 之后的操作都会在这个 ...

  2. SQL server 第十章------模糊查询和聚合函数上机实践

    SQL server 第十章------模糊查询和聚合函数 上机练习1 –查询住址在"山东"的学生姓名.电话.住址. create table student( Name nvar ...

  3. navicat for mysql执行sql语句报错: [Err] 1146 - Table ‘performance_schema.session_status‘doesn‘t exist 解决办法

    navicat for mysql执行sql语句报错: [Err] 1146 - Table 'performance_schema.session_status' doesn't exist 解决办 ...

  4. 小米4支持html5,针对在webview模式中,小米魅族手机不支持html5原生video的control的解决办法![原创]...

    其实,解决办法就是,重新写个control控制功能,.同样用流行的video.js可以实现 第一步就是增加个播放的图片..要不然没有按钮多难看! webkit-playsinline> 上面的视 ...

  5. Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

    Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法 1).容器中登录my ...

  6. ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法

    ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法 分类: ArcGIS ARCGIS开发中出现了这样的错误:类型"ESRI.ArcGIS.DataSourcesRaster.I ...

  7. 该项目不在XXX中。请确认该项目的位置,然后重试。之解决办法

    该项目不在XXX中.请确认该项目的位置,然后重试.之解决办法 解决办法 解决办法 该解决办法引用来自: https://tieba.baidu.com/p/2420033129?red_tag=206 ...

  8. JDBC查询数据库时出现 sql语句正确,但是查询英文可以,汉字不行的情况解决办法

    sql语句正确,但是查询英文可以,汉字不行的情况解决办法 出现这种情况是因为编码格式的原因,我们在设置数据库的URL时一般会设置为 Connection conn = DriverManager.ge ...

  9. IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法

    关于IDEA中pom.xml配置文件依赖文件版本号报红的最有效解决办法,简单粗暴直接! 问题产生及解决过程 产生的报错 解决过程 问题产生及解决过程 产生的报错 最近在研究IDEA的使用以及boots ...

最新文章

  1. Java项目:药品管理系统(java+swing+Gui+mysql)
  2. 深度学习笔记第一门课第二周:神经网络的编程基础(上)
  3. PHP解决http和https跨域,php中http与https跨域共享session的解决方法
  4. 不提拔你,就是因为你只想把工作做好
  5. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境
  6. 将asp.net1.1的应用程序升级到asp.net2.0的一点心得
  7. 成都文理学院计算机一级还没考过,两次查成绩不一致,合格成不合格?成都文理学院官方回应...
  8. 物联网标识管理系统源码
  9. 国内外免费sns源码程序大集合
  10. csp是什么比赛_有关CSPJ/S比赛问题
  11. reverse函数 ——反转容器内容
  12. webapi框架搭建-创建项目(三)-webapi owin
  13. Enhanced ShockBurst (ESB)原文翻译
  14. redolog 、undolog 和binlog
  15. java开发用i5还是i7,办公用i5还是i7
  16. 参加微软学生开发者峰会,了解Azure和GitHub……
  17. 海康工业摄像头调用(linux基于python和opencv)
  18. 大年初一微信闪退?看看如何修复的 1
  19. const volatile int i=10
  20. war包还原成项目_反编译 war 包成传统项目的方法

热门文章

  1. Welcome to NHibernate
  2. asp.net中读取数据库中的数据可以使用DataReader和DataSet 2种方式(初学者望大家不要笑我)...
  3. 系统分析员备考之系统工程篇(系统工程基础)
  4. 孤读Paper——《Deep Snake for Real-Time Instance Segmentation》
  5. Python发布自己的模块到Pypi
  6. CS224n研究热点11 深度强化学习用于对话生成
  7. 团队协调办公工具比较
  8. Linux常用解压文件
  9. python 学习爬虫教程~
  10. strspn和strcspn妙用