Advertisement

MySQL 设置过滤项(用于查询)

阅读量:

MySQL SELECT 语句不仅可以借助GROUP BY子句对数据进行分组处理,在具体执行过程中还可以通过HAVING子句进一步筛选出需要保留的分组集合,并明确指出了包含哪些分组以及应当排除掉哪些分组。

语法格式如下:

复制代码
    HAVING <条件>

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

HAVING子串与WHERE子串极为相近,在运算符与语法结构上均有所覆盖。然而,在功能特性上它们存在若干差异:

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

依据 dept_id 对 tb_students_info 表的数据进行分组,并展示学生人数超过1的分组信息

复制代码
    mysql> SELECT dept_id,GROUP_CONCAT(name) AS names
    -> FROM tb_student

全部评论 (0)

还没有任何评论哟~