mysql 중복행 삭제하기(SELECT와 DELETE 문법...)
글쓴이: freehn / 작성시간: 월, 2011/06/20 - 4:44오후
SELECT * FROM test t1
WHERE time_recorded < (SELECT max(time_recorded)
FROM test t2 where t1.title = t2.title);
중복된 행 중에서 최신 것을 제외하고 나머지는 모두 삭제하려고 합니다.
셀렉트 문을 통해서 삭제해야 할 행은 찾아놨는데
DELETE를 어떻게 적용해야 할 지 잘 모르겠네요.
SELECT * FROM 대신 DELETE FROM 썼더니 에러가 나구요...
부탁드립니다.
Forums:
-- 동일한 time_recorded 값과 title
-- 동일한 time_recorded 값과 title 값을 가지는 경우는 없다고 가정합니다.
DELETE t1
FROM test t1, test t2
WHERE t1.title = t2.title AND t1.time_recorded < t2.time_recorded;
댓글 달기