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
相关推荐
阿演2 分钟前
DataDjinn 新版本更新:新增 Oracle 支持,查询窗口、表预览和连接树继续打磨
数据库·oracle·ai编程·数据库连接工具
小研说技术4 分钟前
Spring AI实现rag流程(简易版)
java·后端
亓才孓9 分钟前
【本地项目引用外部库的类,想修改字段遇到的请缓存的问题】
java·maven
小林敲代码778819 分钟前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
lixora20 分钟前
Oracle 11g Active Data Guard Go 自动化部署工具 v1.0
数据库·oracle
Nturmoils20 分钟前
自增主键别只会 auto_increment,先把值从哪来讲清楚
数据库·后端
南知意-23 分钟前
IDEA 2026.1最新版安装教程
java·ide·intellij-idea·idea安装·idea激活
叶小鸡28 分钟前
Java 篇-项目实战-AI 天机学堂(从 0 到 1)-day5
数据库·redis·缓存
星子落怀aa40 分钟前
Java 反复报错?Gemini助力修复
java
半夜修仙43 分钟前
RabbitMQ中如何保证消息的可靠性传输
java·分布式·中间件·rabbitmq·github·java-rabbitmq