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

相关推荐
FL4m3Y4n2 小时前
MySQL缓存策略
数据库·mysql·缓存
wsx_iot2 小时前
TDengine学习
数据库·学习·tdengine
不吃香菜的小趴菜3 小时前
mysql数据库打包与导入
数据库·mysql
野犬寒鸦3 小时前
Redis复习记录day1
服务器·开发语言·数据库·redis·缓存
njidf3 小时前
实战:用Python开发一个简单的区块链
jvm·数据库·python
Rick19933 小时前
慢SQL优化
数据库·python·sql
IvorySQL3 小时前
速抢!HOW 2026 早鸟票最后 1 天,解锁开源数据库盛会全亮点
数据库·postgresql·开源
IvorySQL3 小时前
PostgreSQL 技术日报 (3月30日)|内核补丁密集更新,REPACK 并发与索引预读取进展
数据库·postgresql·开源
NineData3 小时前
从业务库到实时分析库,NineData构建MySQL到SelectDB同步链路
数据库·mysql·程序员
IvorySQL3 小时前
PostgreSQL 技术日报 (3月29日)|内核工具增强 + 安全能力升级
数据库·postgresql·开源