행단위 값들에서 일정컬럼을 기준으로 순위를 구하고 싶습니다.
wkCd a1Qty a2Qty a3Qty a4Qty rnk
A1 9981 9322 8081 7073 2
A2 8.7 9.7 9.6 8.9 1
A3 59 66 55 65 1
a2Qty를 a1Qty a3Qty a4Qty 값들과 비교해서 순위를 비교학고 싶습니다.
고수님들의 답변 부탁드립니다
WITH t AS ( SELECT 'A1' wkCd, 9981 a1Qty, 9322 a2Qty, 8081 a3Qty, 7073 a4Qty FROM dual UNION ALL SELECT 'A2', 8.7, 9.7, 9.6, 8.9 FROM dual UNION ALL SELECT 'A3', 59, 66, 55, 65 FROM dual ) SELECT wkCd , a1Qty, a2Qty, a3Qty, a4Qty , CASE WHEN a1Qty > a2Qty THEN 1 ELSE 0 END + CASE WHEN a3Qty > a2Qty THEN 1 ELSE 0 END + CASE WHEN a4Qty > a2Qty THEN 1 ELSE 0 END + 1 AS rnk FROM t ;