oracle group by 显示其他字段

原先用

select key,max(value) from tbl group by key
查询出的结果,但是我要再多加一个TEST字段

 

根据网友的语句结合起来,以下是可以显示其他字段,并且考虑排名相同的情况:

select
T.key, T.value,
LISTAGG(T.test, ',') WITHIN GROUP( ORDER BY T.key, T.value) --同名排名用','分隔
from
(
select rank() --跳序排序1、1、3...
over(partition by tb1.key --开窗聚合函数
order by tb1.value desc ) as rownum1,
tb1.key, tb1.value, tb1.test,
from tb1
order by tb1.key asc
) T
where T.rownum1 = 1
group by T.key, T.value;

 

 

转载于:https://www.cnblogs.com/linvan/p/9548742.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值