ORACLE多列中取出数据最大的一条

1.需求说明:

当查询出来的数据存在多条数据时,想按照一定条件排序取出其中一条数据。

2.使用函数:

row_number() over( partition by 分组字段 order by 排序字段 desc)

3.示例:

--根据table_a中的pk_house,pk_customer进行分组,然后根据table_b.billdate进行排序,取出最大billdate的一条数据

select *
from (select table_a.code,
table_a.name,
table_b.billdate,
row_number() over(partition by table_a.pk_house, table_a.pk_customer order by table_b.billdate desc) rn
from table_a
left join table_b
on table_b.pk_table_a = table_a.pk_table_a
where table_a.code = '11111')
where rn = 1

相关推荐
自己的九又四分之三站台6 分钟前
PostgreSQL:万物皆可PostgreSQL的力量
数据库·postgresql
一条大祥脚8 分钟前
25.12.30
数据库·redis·缓存
雨中飘荡的记忆26 分钟前
MyBatis SQL执行模块详解
数据库·sql·mybatis
飞Link1 小时前
【MySQL】Linux(CentOS7)下安装MySQL8教程
linux·数据库·mysql
数据库生产实战1 小时前
Oracle的_segment_count和3个event对高并发事务与索引性能的影响分析
数据库·oracle
程序员侠客行2 小时前
Mybatis二级缓存实现详解
java·数据库·后端·架构·mybatis
Tipriest_2 小时前
linux中的文本分接流tee命令介绍
linux·服务器·数据库
爱喝水的鱼丶2 小时前
SAP-ABAP:在SAP世界里与特殊字符“斗智斗勇”:一份来自实战的避坑指南
运维·服务器·数据库·学习·sap·abap·特殊字符
阿拉伯柠檬2 小时前
MySQL内置函数
linux·数据库·mysql·面试
小Mie不吃饭2 小时前
2025 Oracle小白零基础到入门的学习路线
数据库·oracle