db에 중복제거 하고 하나만 가져오기?
본문
school 이라는 table에
졸업년도 , 이름 이라는 칼럼이 있습니다.
졸업년도는 2002,2003,2004 이렇게 총 3개인데 각각 100여개 정도 되며 곧 2005도 추가가 됩니다.
제가 원하는 것은
가장 최근의 졸업년도만 두개 가져오고자 합니다. 2004,2003입니다.
2004 김아무개
2004 김개똥
2004 홍길동
2004 최아무개
2004 박아무개
2003 이아무개
2003 홍아무개
2003 서아무개
2002 황아무개
2002 임아무개
이런식으로 있을떄 가장 최근에 등록된 졸업년도 2004,2003만 가져오고자 하는데 어떻게 해야하나요?
답변 3
최신 2개 년도만 추출
select year from `school` where 1=1 group by year order by year desc limit 2
해당 년도의 다른조건의 DATA들 추출
select * from `school` where 1=1 and year IN ( select year from `school` where 1=1 group by year order by year desc limit 2 )
정도 되지 않을까요? 참고만 하세요.
!-->!-->oracle은 가능한데
mysql에서는
select `name`, SUBSTRING_INDEX( group_concat(
DISTINCT `year` SEPARATOR ','),',',2) AS years from TAB group by name
이 정도 되겠네요.
select year from `school` where 1=1 group by year order by year desc limit 2
답변을 작성하시기 전에 로그인 해주세요.