여러개의 컬럼중 가장 작은값을 계산하는법 문의 0 4 929

by 쿼리를 정복하라 [2015.08.12 11:15:07]


WITH TA AS(
SELECT 1 COL1, 2 COL2, 3 COL3, 4 COL4 FROM DUAL
)
SELECT 
TA.*,
1 AS COL_MIN -- COL1 ~ COL4 중에 가장 작은값 
FROM TA
;
COL_MIN 을 어떻게 구현해야할지.. 적당한 함수를 못찾겠어요..
by 겸댕2후니 [2015.08.12 11:27:03]

WITH TA AS(
SELECT 1 COL1, 2 COL2, 3 COL3, 4 COL4, LV
FROM DUAL a, (select level LV from dual connect by level <= 4) b
)
select min(decode(LV, 1, col1, 2, col2, 3, col3, 4, col4)) from ta;

 

이런식으로 하면 되지않을까요...?


by 쿼리를 정복하라 [2015.08.12 13:00:29]

답변감사합니다. 

로우를 늘려서 처리하는 그룹함수말고 , 단일 로우에서 처리할 수 있는 방법은 없을까요?


by 겸댕2후니 [2015.08.12 13:08:23]

WITH TA AS(
SELECT 1 COL1, 2 COL2, 3 COL3, 4 COL4 from dual
)
select least(col1, col2, col3, col4) from ta;


by 쿼리를 정복하라 [2015.08.12 13:23:21]

감사합니다. 두가지 답변 정말 좋은 정보입니다. 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입