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

相关推荐
lifewange1 分钟前
postman接口自动化如何进行参数化
数据库·自动化·postman
刘~浪地球7 分钟前
Redis 从入门到精通(三):键操作命令详解
数据库·redis·缓存
高梦轩34 分钟前
MySQL 故障排查与优化
数据库·mysql
吴声子夜歌1 小时前
Node.js——操作MySQL数据库
数据库·mysql·node.js
爱丽_1 小时前
MySQL 锁等待与死锁进阶:怎么看等待、怎么降冲突(工程化套路)
数据库·mysql
心有—林夕1 小时前
MySQL 误操作恢复完全指南
android·数据库·mysql
夕除1 小时前
Mysql--15
java·数据库·mysql
野生技术架构师1 小时前
掌握SQL窗口函数,轻松处理复杂数据分析
数据库·sql·数据分析
会飞的大可1 小时前
NoSQL:从原理到实践的全景指南
数据库·nosql
刘~浪地球2 小时前
Redis 从入门到精通(四):字符串操作详解
数据库·redis·缓存