반응형
다음과 같은 MySQL
테이블이 있습니다.
ID, Col1, Col2, Col3, Col4, etc...
ID는 기본 키
이며 테이블 생성 이후로 작동하고 있습니다.
내가 원하는 것은 다른 모든 열이 동일한 레코드 하나를 제외하고 모두 삭제하는 것입니다.
해결 방법
DELETE DupRows.*
FROM MyTable AS DupRows
INNER JOIN (
SELECT MIN(ID) AS minId, col1, col2
FROM MyTable
GROUP BY col1, col2
HAVING COUNT(*) > 1
) AS SaveRows ON SaveRows.col1 = DupRows.col1 AND SaveRows.col2 = DupRows.col2
AND SaveRows.minId <> DupRows.ID;
물론 세 곳 모두에서 col1, col2를 모든 열로 확장해야합니다.
편집 : 내가 보관하고 다시 테스트 한 스크립트에서 이것을 꺼내서 MySQL에서 실행합니다.
참조 페이지 https://stackoverflow.com/questions/5770228
반응형
'MySql' 카테고리의 다른 글
MySQL 제한 범위 (0) | 2020.10.11 |
---|---|
MySQL Chrome 확장 프로그램에서 DB에 연결 하시겠습니까? (0) | 2020.10.11 |
MySQL에서 느린 쿼리 로그 자르기 (0) | 2020.10.11 |
MySQL mysql의 업데이트 쿼리의 여러 set 및 where 절 (0) | 2020.10.11 |
MySQL "변수 'sql_mode'를 'NULL'값으로 설정할 수 없습니다."오류 수정 방법 (0) | 2020.10.11 |
댓글