아래와 같은 테이블에서,
테이블명 : TblA
ID V1 V2
A 1 가
A 2 나
A 3 다
B 3 나
B 4 라
B 5 마
B 6 아
C 2 차
C 3 가
C 4 아
아래와 같은 결과를 얻으려면 어떻게 쿼리를 작성해야 할까요?
<결과>
A 1 가
B 3 나
C 2 차
즉, 각 ID가 중복되어 있는 전체 테이블 중에서 V1열이 가장 작은 값의 행 전체만 남도록 하는 것을 원합니다.
감사합니다, 고수님 ㅜ
부디 도와주십시오!
감사합니다~
Comment 2
-
자리비움
2017.12.01 14:14
WITH T1 AS(SELECT ID = 'A', V1 = 1, V2 = '가' UNION ALLSELECT 'A', 2, '나' UNION ALLSELECT 'A', 3, '다' UNION ALLSELECT 'B', 3, '나' UNION ALLSELECT 'B', 4, '라' UNION ALLSELECT 'B', 5, '마' UNION ALLSELECT 'B', 6, '아' UNION ALLSELECT 'C', 2, '차' UNION ALLSELECT 'C', 3, '가' UNION ALLSELECT 'C', 4, '아')SELECT A.*FROM T1 AS AINNER JOIN (SELECT ID, V1 = MIN(V1)FROM T1GROUP BY ID) AS B ON B.ID = A.ID AND B.V1 = A.V1 -
브라미
2017.12.01 14:40
self join을 이용하는 것이군요 ㅎ
감사합니다, 큰 도움이 되었습니다!
꾸벅!