PostgreSQL Distinct On 关键字的用法

在PostgreSQL中,DISTINCT ON关键字用于从每个分组中选择一条记录。它允许我们根据指定的列对结果集进行去重和排序。

示例

复制代码
SELECT DISTINCT ON (course) course, id, name, score
FROM student
ORDER BY course, score DESC;

在这个示例中,我们从student表中选择每个课程分组中的最高分记录。

使用方法

基本语法:

复制代码
SELECT DISTINCT ON (column1, column2, ...) column1, column2,
FROM table_name
ORDER BY column1, column2, ...;

示例:

复制代码
SELECT DISTINCT ON (class_id) id, name, age
FROM students
ORDER BY class_id, age DESC;

注意事项

如果没有使用ORDER BY子句,返回的第一条数据是随机的。

DISTINCT ON只会去除部分重复的行,保留每个分组中的第一条记录。

通过使用DISTINCT ON,我们可以更灵活地处理数据分组和去重操作,满足特定的查询需求。

相关推荐
通往曙光的路上4 分钟前
mysql3
数据库
阿坤带你走近大数据8 分钟前
什么是 REDO LOG,它在 Oracle 数据库中的作用是什么?
数据库·oracle
东风破13713 分钟前
DM8搭建同构(dm-dm)及异构数据库(dm-oracle,dm-mysql)的dblink
数据库·mysql·oracle
凭X而动21 分钟前
postgresql18.1部署
数据库·postgresql
万邦科技Lafite21 分钟前
京东商品详情 API 接口全面讲解
java·数据库·redis·api·电商开放平台
无风听海24 分钟前
MongoDB GridFS 一些处理细节解析
数据库·mongodb
青云计划27 分钟前
Mysql
数据库·mysql
SelectDB37 分钟前
Agent 应用范式下,企业数据基础设施如何演进?
大数据·数据库·数据分析
杜子不疼.1 小时前
【C++ AI 大模型接入 SDK】 - 环境搭建
开发语言·数据库·c++
qq_283720051 小时前
Milvus 向量数据库全链路优化实战教程
数据库·milvus