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

相关推荐
weixin_5206498714 小时前
数据库函数
数据库
Bert.Cai15 小时前
MySQL LPAD()函数详解
数据库·mysql
OnlyEasyCode16 小时前
Navicat 任务自动备份指定数据库
数据库
if else16 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow1216 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V17 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
qq_1898070317 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
norq juox17 小时前
MySQL 导出数据
数据库·mysql·adb
qq_3493174817 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
9523618 小时前
Spring IoC&DI
java·数据库·spring