ORACLE反馈多字段时根据其中某一个或者多个字段来去重

ORACLE查询时需要返回多个字段(例如:A/B/C/D/E/F),但是字段A或者字段A+B不唯一,此时需要实现分页加根据字段A或者字段A+B去重,其中A还是类似于工号之类的字段,此时distinct/group by都无法满足业务需求,最终使用下面的去重方法解决问题。备忘一下。

select * from (

select tf.*,ROW_NUMBER() OVER(PARTITION BY ** ORDER BY * DESC ) RN from info tf

) from test where test .rn = 1

PARTITION BY 后面可以跟多个字段(待返回的字段),依据该字段对结果集进行重新分组,

后面的ORDER BY是指定对应字段排序,然后ROW_NUMBER()对重新分组的结果集进行编号,rn = 1表示重新分组后的结果集每组数据内部的编号,为1表示如果重新分组结果集存在多条时只取第一条。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值