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
相关推荐
隔窗听雨眠6 分钟前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
Javatutouhouduan31 分钟前
Java如何速通性能优化难题?
java·java面试·jvm调优·后端开发·java程序员·java八股文·java性能优化
lemon_sjdk36 分钟前
DOM 节点
java·前端·javascript
samson_www36 分钟前
Oracle数据泵拷贝表空间
数据库·dba
leoZ2311 小时前
2026-09-09-springboot-cloud-deploy-pitfalls
java·前端·javascript·vue.js·人工智能·spring boot·后端
呆萌很1 小时前
MySQL 8.4 LTS 完整安装教程
数据库·mysql
mengge.cloud2 小时前
0909华为云计算类综合服务小白实验教程
linux·运维·服务器·网络·华为云·云计算
天空'之城2 小时前
单片机基础核心知识点汇总(三十三)
数据库·单片机·嵌入式硬件
驭渊的小故事2 小时前
多线程02
java·开发语言·jvm
随遇而安zx2 小时前
【多线程】---实战:CompletableFuture编排
java·多线程·并发