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
相关推荐
LaughingZhu几秒前
Product Hunt 每日热榜 | 2026-09-02
java·ide·intellij-idea
旧梦95276 分钟前
Java EnumMap 详解:原理、用法与实战
java·开发语言
Aolith8 分钟前
我在React全栈项目中搭建了一个完整题库
数据库·react.js·全栈
兜里ヌ有糖12 分钟前
java Date时间格式工具类DateUtil
java
zww894911128 分钟前
家政多商户系统开发:从架构设计到落地实践
java·eclipse
cuijiecheng201830 分钟前
从 GinormoTime 到 Rocky Linux:25fps LTC 完整搭建与验证实战
linux·运维·服务器
雨辰AI1 小时前
信创数仓分层建模|国产数据库 ODS/DWD/DWS 分层落地规范(金仓 / 达梦 / 高斯适配)
数据库·云原生·政务
snow@li1 小时前
Java:微服务项目与单体项目区别、市场占有率全景深度分析
java·开发语言·微服务
还是大剑师兰特1 小时前
Maven‑3.9.16 Windows 下载+安装+环境变量完整教程
java·windows·maven
吴声子夜歌1 小时前
Java——性能和效率
java·开发语言