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
相关推荐
ch.ju1 分钟前
Java Programming Chapter 4——The set-get method.
java·开发语言
段ヤシ.5 分钟前
回顾Java知识点,面试题汇总Day12:tomcat、 Java Web(持续更新)
java·前端·tomcat·java web
JAVA学习通7 分钟前
从 Bean 到微服务:一张图吃透 Spring 全家桶底层原理
java·前端·spring
布朗克1688 分钟前
19 集合框架:List——ArrayList与LinkedList深度对比
java·list·集合框架
Micro麦可乐10 分钟前
最新Spring Security实战教程(十)权限表达式进阶 - 在SpEL在安全控制中的高阶魔法
java·spring boot·后端·spring·spring security·spel表达式
寻道码路11 分钟前
LangChain4j Java AI 应用开发实战(十二):向量数据Chroma/Qdrant/Milvus实践对比
java·人工智能·ai·milvus
黏刚12 分钟前
2025 最新 Claude Code 教程:从安装部署到 SpringBoot 项目实战(附完整 Java 示例)
java·ai编程·claude
chushiyunen13 分钟前
金庸(庸老)小说之大模型
数据库·oracle
10WTW0114 分钟前
计网实验 交换机及其VLAN的配置
运维·服务器·网络
IronMurphy15 分钟前
List 经典问
java·开发语言