개별코드의 최고값만 가져오고 싶습니다. 5

by 스나이퍼 [SQL Query] [2013.11.05 09:51:21]



쿼리 문의드립니다.
각 개별코드의 최고값들만 하나씩 가져오고 싶습니다.
아래와 같은 데이타가 있습니다.

A 1
A 3
B 40
B 12
B 23
C 12
C 13
D 6

결과값
A 3
B 40
C13
D 6
을 원합니다.

order by 하고 하나씩 가져와서 max 이용하는게 잘 안되네요.

by 우리집아찌 [2013.11.05 09:55:12]
WITH T ( NM , VAL ) AS (
SELECT 'A',1 FROM DUAL UNION ALL
SELECT 'A',3 FROM DUAL UNION ALL
SELECT 'B',40 FROM DUAL UNION ALL
SELECT 'B',12 FROM DUAL UNION ALL
SELECT 'B',23 FROM DUAL UNION ALL
SELECT 'C',12 FROM DUAL UNION ALL
SELECT 'C',13 FROM DUAL UNION ALL
SELECT 'D',6 FROM DUAL 
)

SELECT NM , MAX(VAL) VAL FROM T
GROUP BY NM
ORDER BY NM

by 부쉬맨 [2013.11.05 09:56:41]
with t as
(select 'A' a ,1 b from dual union all 
select 'A', 3 from dual union all
select 'B', 40 from dual union all
select 'B', 12 from dual union all
select 'B', 23 from dual union all
select 'C', 12 from dual union all
select 'C', 13 from dual union all
select 'D', 6 from dual
)select 
a,max(b) 
from t
group by a
order by 1

by 스나이퍼 [2013.11.05 10:11:45]

죄송합니다만. ㅠㅠ
데이타가 저 위의 있는 8개만 있는것이 아니라 훨씬 더 많이 있습니다.
100건, 200건이 될수 있습니다.
많은 자료들 중에서 최고값을 가져오는것입니다.
조언을 구합니다.^^


by Oracler [2013.11.05 10:28:46]
건수와는 상관없이 수행되는 SELECT 문입니다.
with절을 제외한 SELECT 이하 ORDER BY를 스나이퍼님의 테이블에 적용해 보세요.

by 스나이퍼 [2013.11.05 10:55:54]

헉~ㅠㅠ
답변채택은 한분만 되네요.ㅠㅠ
도움주신 위의 3분 감사드립니다.

정말 간단한 부분을 잊고 있었습니다.
다시한번 도와주셔서 감사드립니다.^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입