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
相关推荐
XiYang-DING2 分钟前
【Java SE】var关键字
java·开发语言
知识分享小能手4 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB聚合框架(7)
数据库·学习·mongodb
城数派16 分钟前
2015-2024年我国1km分辨率逐日地表温度(LST)栅格数据
数据库·arcgis·信息可视化·数据分析·excel
wwj888wwj27 分钟前
mydumper备份数据库以及还原
linux·运维·服务器
城数派35 分钟前
中国全国土壤有机碳密度数据集(2010-2024年)
数据库·arcgis·信息可视化·数据分析·excel
鹓于39 分钟前
CRX格式详解:安装、开发与反编译
数据库
咸鱼2.040 分钟前
【java入门到放弃】Session和JWT
java·开发语言
J2虾虾42 分钟前
使用GeoTools把Geojson转换成Shp文件
java·开发语言·geotools
CQU_JIAKE1 小时前
3.23【A】
linux·服务器·网络
愤豆1 小时前
11-Java语言核心-JVM原理-JVM调优详解
java·jvm·测试工具