데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
select a, max(b) from (
select '1' as a,'2016-09-01' as b,'세종대왕' as c union all
select '1','2016-09-02','이순신' union all
select '1','2016-09-03','신사임당' union all
select '1','2016-09-04','안중근' union all
select '1','2016-09-05','아인슈타인' ) x
group by a
1 | 2016-09-05 | 아인슈타인
의 결과가 나와야 하는데요..
group by 를 쓰면 1 | 2016-09-01 | ??
전문가님 도와주세요..ㅠㅠ
select a,b,c
from ( select a,b,c,ROW_NUMBER() over ( partition by a order by b desc ) rnk
from ( select '1' as a,'2016-09-01' as b,'세종대왕' as c union all
select '1','2016-09-02','이순신' union all
select '1','2016-09-03','신사임당' union all
select '1','2016-09-04','안중근' union all
select '1','2016-09-05','아인슈타인' ) x
) as a
where rnk=1