pgsql 分组查询方法

  • group by

    group by 查询的字段 必须出现在分组中。因此这里用 max 函数,来查其他字段

sql 复制代码
SELECT
	 "max"("name") as "name",
	 "max"("organization_id") as "organizationId",
	 account
FROM
	system_users 
GROUP BY account
  • PARTITION BY

Partition By是分组但不聚合

是按 account 进行分组且组内按 create_time 进行升序,返回组内行编号

rownum = 1 可以实现去重的效果

sql 复制代码
WITH res AS (
SELECT
	 organization_id,
	 "name",
	 account,
	 ROW_NUMBER() OVER(PARTITION BY "account" ORDER BY "create_time" ASC nulls last) AS rownum
FROM
	system_users 
)
SELECT * FROM res WHERE rownum = 1
相关推荐
jun_bai9 分钟前
使用java安全的移动文件
java
zdl6869 分钟前
EasyMarkets:“芯片波动考验科技估值”
数据库·人工智能·科技
caishenzhibiao12 分钟前
市场同步系统 同花顺期货通指标
java·c语言·c#
Devin~Y14 分钟前
从本地生活电商到 AI RAG:互联网大厂 Java 面试场景完整实战
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
520拼好饭被践踏18 分钟前
JAVA+Agent学习day25
java·开发语言·学习
诸葛老刘19 分钟前
Ubuntu 服务器常用运维命令
运维·服务器·ubuntu
大黄说说19 分钟前
Java 并发大坑:volatile、synchronized、Lock 三者如何选择?
java·开发语言
红叶舞27 分钟前
成数据绑定对象,在应用程序中处理完数据后,将更新的数据序列化为JSON传回远端服务器,很多移动应用使用了这种模式处理服务器端的数据。 ...
运维·服务器·json
深圳恒讯32 分钟前
H100服务器是什么?H100服务器适合哪些企业?
运维·服务器
翼龙云_cloud34 分钟前
阿里云国际站代理商:ECS弹性伸缩 自动应对流量高峰
运维·网络·数据库·阿里云·架构