데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
아래와 같은 테이블에서,
테이블명 : 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을 이용하는 것이군요 ㅎ
감사합니다, 큰 도움이 되었습니다!
꾸벅!