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 小时前
INFINI Labs 产品更新 - Easysearch 2.1.0 新增高性能 Rules 规则引擎插件,数据探索 Discover 等
数据库·产品
!沧海@一粟!2 小时前
麒麟Zabbix Agent安装配置全攻略
linux·服务器·zabbix
工程师老罗3 小时前
Image(图像)的用法
java·前端·javascript
leo_messi943 小时前
2026版商城项目(一)
java·elasticsearch·k8s·springcloud
美味蛋炒饭.3 小时前
Tomcat 超详细入门教程(安装 + 目录 + 配置 + 部署 + 排错)
java·tomcat
鹿角片ljp3 小时前
苍穹外卖 day05:店铺营业状态设置与Redis入门实战
数据库·redis·缓存
dreamxian4 小时前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
Veggie264 小时前
【Java深度学习】PyTorch On Java 系列课程 第八章 17 :模型评估【AI Infra 3.0】[PyTorch Java 硕士研一课程]
java·人工智能·深度学习
weisian1514 小时前
Java并发编程--19-ThreadPoolExecutor七参数详解:拒绝Executors,手动掌控线程池
java·线程池·threadpool·七大参数
csdn5659738504 小时前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar