HAVING子句
HAVING子句可以让我们筛选分组后的各组数据。
WHERE子句在所选列上设置条件,而HAVING子句则在由GROUP BY子句创建的分组上设置条件。
语法格式
1. SELECT
2. { * | [column, ...] }
3. [ FROM from_item [, ...] ]
4. [ WHERE condition ]
5. [ GROUP BY grouping_element [, ...] ]
6. [ HAVING condition [, ...] ]
7. [ ORDER BY {expression [ ASC | DESC ] }];
参数说明
- HAVING子句
与GROUP BY子句配合用来选择特殊的组。HAVING子句将组的一些属性与一个常数值比较,只有满足HAVING子句中的逻辑表达式的组才会被提取出来。
示例
下面实例将找出根据c_first_name字段值进行分组,并且c_first_name字段的计数少于 2 数据:
1. openGauss=# SELECT c_first_name FROM customer_t1 GROUP BY c_first_name HAVING count(c_first_name) < 2;
结果如下。
1. c_first_name
2. --------------
3. James
4. Local
6. Joes
7. (4 rows)
下面实例将找出根据c_first_name字段值进行分组,并且名称的计数大于1数据:
1. openGauss=# SELECT c_first_name FROM customer_t1 GROUP BY c_first_name HAVING count(c_first_name) > 1;
结果如下。
1. c_first_name
2. --------------
3. Grace
4. Lily
5. (2 rows)
