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
相关推荐
蟹至之13 小时前
增删查改基础(其三)—— 聚合函数、分组查询(group by与having)、内置函数
数据库·mysql·增删查改
明洞日记13 小时前
【设计模式手册006】建造者模式 - 复杂对象的优雅构建之道
java·设计模式·建造者模式
2501_9411112413 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
S***q19213 小时前
后端服务架构设计:从单体到微服务
java·微服务·架构
T***u33313 小时前
微服务书籍
java·微服务·架构
伊卡洛斯az14 小时前
Linux veth
linux·服务器
Wang's Blog14 小时前
MySQL: 数据库索引深度解析:B树与哈希索引的结构、应用与优化策略
数据库·b树·mysql
ZHE|张恒14 小时前
设计模式(二)工厂方法模式 — 把创建权限下放给子类,像“可扩展的生产线”
java·开发语言·设计模式
阿伟实验室14 小时前
debian10部署简易web服务器
运维·服务器·前端
2501_9411121414 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python