테이블 명 : T
A1 | A2 | A3 | A4 | A5 |
0 | 2 | 5 | 2 | 4 |
위의 테이블에서 아래의 결과를 조회하고 싶습니다.
--------------------------------------------------
A3 |
5 |
MAX 함수로 조회하는 방법을 찾았으나 방법이 없었습니다.
좋은 방법있다면 알려주시면 감사드립니다.
테이블 명 : T
A1 | A2 | A3 | A4 | A5 |
0 | 2 | 5 | 2 | 4 |
위의 테이블에서 아래의 결과를 조회하고 싶습니다.
--------------------------------------------------
A3 |
5 |
MAX 함수로 조회하는 방법을 찾았으나 방법이 없었습니다.
좋은 방법있다면 알려주시면 감사드립니다.
union(all)등을 쓰는 건 별로인 듯 하구요. (이건 그냥 칼럼수만큼 나열해서 하시면 될듯요)
max value만 필요한 경우에는 ...
1. 이런 쿼리는 어떠할까요?
with tmp as (
select 0 as A1, 2 as A2, 5 as A3, 2 as A4, 4 as A5
)
SELECT
(select max(val)
from (values (A1), (A2), (A3), (A4), (A5)) as mval(val)
) as max_val
from tmp
2. 원하는 형태는 아니지만 unpivot을 쓰면
with tmp as (
select 0 as A1, 2 as A2, 5 as A3, 2 as A4, 4 as A5
)
select *
from (
select top (1)
cname,
val
from tmp
unpivot(val for cname in ([A1], [A2], [A3], [A4], [A5] )) as unp
order by val desc
) x