고수님 간단한 쿼리 하나 부탁드립니다. 0 3 1,059

by K-ART [SQL Query] [2020.10.20 17:35:26]


    A                 B              C

20200901    20200915  20201015

 

--------------------------------------------------------------------------

 a b c 3개 칼럼 비교 해서 가장은 작은 값 구하기

결과 값 20200901

union all 말고 다른방법이 없을까요?

 

by pajama [2020.10.20 17:47:49]

case 문으로 가능합니다~

with t as (
select '20200901' a, '20200915' b, '20201015' c from dual
)
select case when a < b and a < c then a
            when b < a and b < c then b
            else c end min
from t

 


by 마농 [2020.10.20 17:59:23]
WITH t AS
(
SELECT '20200901' a, '20200915' b, '20201015' c FROM dual
)
SELECT a, b, c
     , LEAST(a, b, c) l
--     , GREATEST(a, b, c) g
  FROM t
;

 


by 버드나무 [2020.10.21 17:41:38]

-- DB2 사용

WITH T AS (
SELECT 20200901 A, 20200915 B, 20201015 C FROM SYSIBM.SYSDUMMY1
)
SELECT     MIN(CASE WHEN RNUM = 1 THEN  A
             WHEN RNUM = 2 THEN  B
             WHEN RNUM = 3 THEN  C
        END)  AS MIN
FROM T 
    , (SELECT LEVEL AS RNUM FROM SYSIBM.SYSDUMMY1 CONNECT BY LEVEL < 4) R

;

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