고수님들 이거 쿼리 가능한가요? 1 1 727

by K-ART [SQL Query] [2022.02.06 10:29:31]


      A1        A2       A3       A4       A5

      0        2           5       0           23

     38       100        78       4         4

     32       45           0      23        5

     79        0          54       2        49

 

-> 23 ~ 60 사이에서 가장 큰 결과값 54  

 

    A1        A2       A3       A4       A5

    5         67        45       56       5

   45       4           2       200        7

   2        54         34        6         2

   5       23         12         3       56

 

30 ~ 60 사이에서 가장 큰 결과값 56 

by 꼬랑지 [2022.02.07 09:55:56]

다른 정보는 필요없고 두 숫자 사이에 제일 큰 값만 조회하면 된다면 UNPIVOT를 사용해 보세요

with t as (
select 0  cola,       2   colb,        5  colc,      0  cold,        23 cole from dual union all
select 38 cola,       100 colb,       78  colc,      4  cold,        4  cole from dual union all
select 32 cola,       45  colb,         0 colc,      23 cold,        5  cole from dual union all
select 79 cola,        0  colb,        54 colc,       2 cold,        49 cole from dual 
)
select max(num)
from t
UNPIVOT(
    num 
    FOR nums
    IN (cola,colb,colc,cold,cole)
)
where 1=1
and num between 23 and 60

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