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
相关推荐
nassi_15 分钟前
文件属性获取与目录IO操作详解
linux·服务器·网络
超级苦力怕16 分钟前
【超详细】Redis下载教程 (Win/Linux)
数据库
codervibe19 分钟前
MySQL 命令行连接与企业级远程访问实践(含故障排查与安全策略)
数据库·后端
workflower24 分钟前
测试套件缩减方法
数据库·单元测试·需求分析·个人开发·极限编程
熊文豪28 分钟前
搭建AI资讯早报:AiOnly全球大模型服务+N8N自动化工作流实战
linux·运维·服务器
Cikiss34 分钟前
图解 MySQL JOIN
数据库·后端·mysql
-指短琴长-37 分钟前
ProtoBuf速成【基于C++讲解】
android·java·c++
Cx330❀1 小时前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
员大头硬花生1 小时前
六、InnoDB引擎-架构-结构
数据库·mysql·oracle
爱吃烤鸡翅的酸菜鱼1 小时前
深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径
java·人工智能·后端·ai