在 MySQL SELECT 语句中,除了能使用 GROUP BY 子句分组数据外,还可以使用 HAVING 子句过滤分组,在结果集中规定了包含哪些分组和排除哪些分组。

语法格式如下:

HAVING <条件>

其中,<条件>指的是指定的过滤条件。

HAVING 子句和 WHERE 子句非常相似,HAVING 子句支持 WHERE 子句中所有的操作符和语法,但是两者存在几点差异:

  • WHERE 子句主要用于过滤数据行,而 HAVING 子句主要用于过滤分组,即 HAVING 子句基于分组的聚合值而不是特定行的值来过滤数据,主要用来过滤分组。
  • WHERE 子句不可以包含聚合函数,HAVING 子句中的条件可以包含聚合函数。
  • HAVING 子句是在数据分组后进行过滤,WHERE 子句会在数据分组前进行过滤。WHERE 子句排除的行不包含在分组中,可能会影响 HAVING 子句基于这些值过滤掉的分组。

【实例】根据 dept_id 对 tb_students_info 表中的数据进行分组,已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击并显示学生人数大于1的分组信息,输入的 SQL 语句和执行结果如下所示。

  mysql> SELECT dept_id,GROUP_CONCAT(name) AS names      -> FROM tb_students_info      -> GROUP BY dept_id      -> HAVING COUNT(name)>1;  +---------+---------------+  | dept_id | names         |  +---------+---------------+  |       1 | Dany,Jane,Jim |  |       2 | Henry,John    |  |       3 | Green,Thomas  |  |       4 | Susan,Tom     |  +---------+---------------+  4 rows in set (0.07 sec)

MySQL HAVING:指定过滤条件相关推荐

  1. MySQL 指定过滤条件

    MySQL SELECT 语句,除了能使用 GROUP BY 子句分组数据外,还可以使用 HAVING 子句过滤分组,在结果集中规定了包含哪些分组和排除哪些分组. 语法格式如下: HAVING < ...

  2. MySQL语句中过滤条件放在哪?on、where还是having,他们区别和联系

    SQL语句中,过滤条件放在不同筛选器on.where和having的区别和联系. 蚂蚁金服的一道SQL面试题如下:SQL语句中,过滤条件放在on和where子句中的区别是什么? 当时满脑子是left ...

  3. mysql 查询语句 过滤_MySQL全面瓦解7:查询的过滤条件

    概述 在实际的业务场景应用中,我们经常要根据业务条件获取并筛选出我们的目标数据.这个过程我们称之为数据查询的过滤.而过滤过程使用的各种条件(比如日期时间.用户.状态)是我们获取精准数据的必要步骤, 这 ...

  4. mysql怎么滤空_《MySQL 入门教程》第 08 篇 过滤条件

    文章来源:<MySQL 入门教程>第 08 篇 过滤条件 原文作者:不剪发的Tony老师 来源平台:CSDN 上一篇我们学习了如何使用 SELECT 和 FROM 查询表中的数据.很多时候 ...

  5. MySQL左连接还有过滤条件_MySQL左连接问题,右表做筛选,左表列依然在?

    问 题 原料 两张表,一张user表,一张user_log表(这个例子举的不好) CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, ...

  6. 忆龙2009:iMC UAM以用户组为过滤条件从微软AD服务器上同步指定账户的配置

    一. 组网需求: iMC UAM可以配置为从LDAP服务器上自动同步用户信息,免去了管理员同时维护两套用户信息的繁琐.最常用的LDAP服务器是微软的域控制器(AD服务器).通常情况下,配置同步时都是以 ...

  7. mysql括号被过滤_mysql必知必会--数 据 过 滤

    如何组合 WHERE 子句以建立功能更强的更高级的搜索条件?如何使用 NOT 和 IN 操作符? 组合 WHERE 子句 第6章中介绍的所有 WHERE 子句在过滤数据时使用的都是单一的条 件.为了进 ...

  8. MySQL学习记录04where条件子句、联表查询、子查询

    文章目录 MySQL学习记录04where条件子句.联表查询.子查询 4.1DQL 4.2指定查询字段 4.3where条件子句 4.4联表查询 4.5分页和排序 4.6子查询 MySQL学习记录04 ...

  9. 为什么 ElasticSearch 比 MySQL 更适合复杂条件搜索

    熟悉 MySQL 的同学一定都知道,MySQL 对于复杂条件查询的支持并不好.MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤. 上述这种处理复杂条件查询的方 ...

最新文章

  1. 进程 线程 协程_进程,线程,协程那些事
  2. Dockerfile文件全面详解
  3. window.postMessage跨文档通信
  4. 五十九、如何求N个数的最大公约数和最小公倍数
  5. Leetcode400Nth Digit第N个数字
  6. Java编程学习并不难,有坚持的动力与良好的心态尤为重要
  7. java ftp 连接超时时间_ftpClient的连接超时设置(setConnectTimeout,setSoTimeout) | 学步园...
  8. html在线摄像头,在HTML里加载摄像头的方法
  9. ReportViewer教程(12)-按组折叠
  10. 用计算机设置变大的命令按钮 vb,VB教程:命令按钮(CommandButton)
  11. Spring-Kafka
  12. 混合线性模型如何检测固定因子和随机因子的显著性以及计算R2
  13. 腰围2尺1,2,3,4,5,6,7,8寸分别等于是多少厘米/英寸(对照表)
  14. C++ 关于ShowWindow()的疑问
  15. linux oracle实例名查看,Linux环境下oracle数库库改名,实例改名
  16. Python学习记录-实战一、车牌归属地
  17. Golang.Go语言基础
  18. 一个普通玩家眼中的网博会
  19. delphi7的程序在英文系统下显示中文乱码
  20. SQLServer通过sql修改表主键

热门文章

  1. VM:如何向vmware虚拟机中传输文件(或者共享文件夹)之详细攻略(图文教程)
  2. 成功解决FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `ar
  3. ML之回归预测:以某个数据集为例从0到1深入理解科学预测之回归(实数值评分预测)问题的思路框架
  4. Paper之Algorithms:国内外Algorithms高质量论文、CUMCM分类推荐(建议收藏,持续更新)
  5. (已解决) MySQL: ERROR 1045 (28000): Access denied for user 'xxxxx'@'localhost' (using password: NO)
  6. ASP.NET的Page.IsPostBack 属性详细说明(转)
  7. LeetCode 705. Design HashSet (设计哈希集合)
  8. 解决MySQL报错ERROR 2002 (HY000)【转】
  9. seaJS简介和完整实例
  10. 如何架设灵活多变的数据采集路线?