openGauss学习笔记-22 openGauss 简单数据管理-HAVING子句

openGauss学习笔记-22 openGauss 简单数据管理-HAVING子句22.1 语法格式22.2 参数说明22.3 示例

openGauss学习笔记-22 openGauss 简单数据管理-HAVING子句

HAVING子句可以让我们筛选分组后的各组数据。

WHERE子句在所选列上设置条件,而HAVING子句则在由GROUP BY子句创建的分组上设置条件。

22.1 语法格式

sql 复制代码
SELECT 
{ * | [column, ...] }
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY grouping_element [, ...] ]
[ HAVING condition [, ...] ]
[ ORDER BY {expression [ ASC | DESC ] }];

22.2 参数说明

  • HAVING子句

    与GROUP BY子句配合用来选择特殊的组。HAVING子句将组的一些属性与一个常数值比较,只有满足HAVING子句中的逻辑表达式的组才会被提取出来。

22.3 示例

下面实例将找出根据c_first_name字段值进行分组,并且c_first_name字段的计数少于 2 数据:

sql 复制代码
openGauss=# SELECT c_first_name FROM customer_t1 GROUP BY c_first_name HAVING count(c_first_name) < 2;

结果如下。

markdown 复制代码
 c_first_name
--------------
 James
 Local
​
 Joes
(4 rows)

下面实例将找出根据c_first_name字段值进行分组,并且名称的计数大于1数据:

sql 复制代码
openGauss=# SELECT c_first_name FROM customer_t1 GROUP BY c_first_name HAVING count(c_first_name) > 1;

结果如下。

markdown 复制代码
 c_first_name
--------------
 Grace
 Lily
(2 rows)

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

相关推荐
萧曵 丶4 分钟前
Spring @TransactionalEventListener
java·数据库·spring·事务·transactional·异步
胡斌附体8 分钟前
mobaxterm终端sqlplus乱码问题解决
数据库·乱码·sqlplus·字符集设置
moon66sun18 分钟前
开源项目XYZ.ESB:数据库到数据库(DB->DB)集成
数据库·esb
TDengine (老段)36 分钟前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
DarkAthena42 分钟前
【GaussDB】深度解析:创建存储过程卡死且无法Kill会话的疑难排查
数据库·gaussdb
Gauss松鼠会1 小时前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb
时序数据说1 小时前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb
Java初学者小白2 小时前
秋招Day15 - Redis - 缓存设计
java·数据库·redis·缓存
绅士玖2 小时前
前端数据存储总结:Cookie、localStorage、sessionStorage与IndexedDB的使用与区别
前端·javascript·数据库
RainbowSea3 小时前
15. MySQL 多版本并发控制
java·sql·mysql