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

相关推荐
努力努力再努力wz6 小时前
【Redis 入门系列】为什么需要 Redis?一文串起缓存、分布式、读写分离、分库分表与微服务
数据库·redis·分布式·sql·mysql·缓存·微服务
得闲喝茶6 小时前
SQL处理数据的常用语法语句
数据库·笔记·sql·数据分析·excel
金玉满堂@bj7 小时前
PostgreSQL:企业级全能开源数据库
数据库·postgresql·开源
todoitbo7 小时前
CTE 与外层 JOIN 的条件下推:原理、边界与验证方法
数据库·join·cte
TEC_INO7 小时前
Linux56:读取人脸图片并把特征值保存到sqlite3数据库
数据库·oracle
刘~浪地球7 小时前
MongoDB分片集群实战:水平扩展海量数据
数据库·mongodb
鸽芷咕7 小时前
KingbaseES中的PL_SQL编程:存储过程、函数、触发器与包的开发指南
数据库·sql·oracle
4311媒体网7 小时前
帝国CMS新手入门教程:从零开始掌握企业级建站系统
数据库
韩小兔修媛史7 小时前
Redis面试八股文总结
数据库·redis·面试
小则又沐风a7 小时前
Linux下的Git的上传(版本控制器)
linux·数据库·git