oracle rank() over(partition by order by) rnk 用法

写一个oracle存储时碰到一个问题,因为模板定义的级别问题,查出的结果集中有几乎一样的结果,就是left join出了不同的级别,逻辑定义是如果有1级别,就用1级别中随便一条,没有1级别,使用0级别,想了好久,最后求教oracle sql职业高手,用下面一行语句解决了问题

rank() over(partition by P.USER_ID, TO_CHAR(P.TRANS_DATE, 'yy-mm-dd'), p.SC_TT_BAK4 order by ST.SMS_LEVEL desc) rnk --当用户ID,交易时间,商品小类相同时,取短信模板类型降序排列的第一条数据

P.USER_ID 用户ID,P.TRANS_DATE 交易时间 ,p.SC_TT_BAK4 商品小类,ST.SMS_LEVEL 模板级别 。

相信这样,大家都能看懂,共勉吧

转载于:https://my.oschina.net/u/576942/blog/209878

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值