중복레코드 삭제 쿼리 부탁드립니다.알려주신분 현빈 싱크로 100프로 정보
중복레코드 삭제 쿼리 부탁드립니다.알려주신분 현빈 싱크로 100프로
본문
아래와 같은 데이터에서 중복되는 wr_subject값을 가지는 레코드중에 wr_datetime기준으로 최근 한개의 것만 남기고 나머지는 삭제하는 쿼리좀 알려주세요.
* 나머지 필드는 생략했습니다.
wr_id wr_subject wr_datetime
9 홍길동 2011-01-05
8 홍길동 2011-01-04
7 일지매 2011-01-03
6 일지매 2011-01-02
5 홍길동 2011-01-0`
이렇게 남기고 싶습니다.
9 홍길동 2011-01-05
7 일지매 2011-01-03
distinct로 묶어서 다른 테이블에 복사하고 그테이블을 원래 테이블로 이름변경하는 쿼리 말고 다른거 부탁드립니다.
* 나머지 필드는 생략했습니다.
wr_id wr_subject wr_datetime
9 홍길동 2011-01-05
8 홍길동 2011-01-04
7 일지매 2011-01-03
6 일지매 2011-01-02
5 홍길동 2011-01-0`
이렇게 남기고 싶습니다.
9 홍길동 2011-01-05
7 일지매 2011-01-03
distinct로 묶어서 다른 테이블에 복사하고 그테이블을 원래 테이블로 이름변경하는 쿼리 말고 다른거 부탁드립니다.
댓글 전체
그냥 복사하고 하시는게 속편하실 텐데요
쿼리만으로는 좀 복잡해보이고요
php 단에서
order by wr_subject, wr_datetime DESC 으로 받으시고
반복문 돌면서 wr_subject 첫번째는 continue로 뛰고
나머지는 delete 해주시면 될것 같네요
php 단에서
order by wr_subject, wr_datetime DESC 으로 받으시고
반복문 돌면서 wr_subject 첫번째는 continue로 뛰고
나머지는 delete 해주시면 될것 같네요
distinct로는 해결이 안 될 겁니다.
tempory 테이블 만들어서 고유한(안 지울 것)만 여기에 넣고
이것을 참고해서 원 테이블에서 데이터를 지우면 되겠네요.
테이블을 새로 만드는 좋은 방법을 왜 안 쓰시려고 하는 이유가 있나요?
건수가 아주 많다면 이 방법이 아주 좋습니다.
tempory 테이블 만들어서 고유한(안 지울 것)만 여기에 넣고
이것을 참고해서 원 테이블에서 데이터를 지우면 되겠네요.
테이블을 새로 만드는 좋은 방법을 왜 안 쓰시려고 하는 이유가 있나요?
건수가 아주 많다면 이 방법이 아주 좋습니다.