예를 들어 가 테이블에 a,b,c,d,e 컬럼에 있는 값중 최상위 두개의 값만 가져 오고 싶습니다.
즉 id , a, b, c, d,e 컬럼에 아래와 같이 값이 있다고 하고
ㄱ,10 .20.70,50,60
결과 ㄱ,70,60
이렇게 최상위 2개값 으로 표현 할수 있는 방법이 있을까요.
with t as ( select 'ㄱ' id, 10 a, 20 b, 70 c, 50 d, 60 e from dual ) select id , wm_concat(vl) vl from ( select a.id , decode(b.rn, 1, a.a , 2, a.b , 3, a.c , 4, a.d , 5, a.e ) vl from t a , ( select level rn from dual connect by level <= 5 ) b order by 2 desc ) where rownum <= 2 group by id