db데이터를 조회했을 때 데이터가 중복으로 잘못 들어갔을 때 정말 화가난다. ㅂㄷㅂㄷ
중복된 행을 지우기 전에 먼저 중복이 존재하는지 알아야한다.
Select 중복 데이터 조회
select * from CCTV a, CCTV b where a.name > b.name and a.lat = b.lat and a.lon = b.lon;
나는 lat 과 lon이라는 컬럼을 가지는 테이블 중에 중복된 데이터를 지우고자 한다.
간단하게 설명하면
a.name > b.name 은 auto_increment 속성을 가지는 ID이다. 나중에 들어온 값만 지우기 위한 조건 문이다.
뒤에는 and 연산자를 이용해 sql 다중 조건 연산을 해주었다.
Delete 중복 데이터 삭제
delete a from AllTimeShop a, AllTimeShop b where a.name > b.name and a.lat = b.lat and a.lon = b.lon;
조회랑 똑같다.
더 높은 id값을 가지는 a 행을 지운다.
삭제하기 전에 먼저 간단한 test 테이블을 만들고 해 본 뒤에 쿼리문을 실행하는 걸 추천><
참고
'DataBase > Mysql' 카테고리의 다른 글
[SQL] SQL 쿼리문, 통계 데이터 내기 (0) | 2022.01.06 |
---|---|
[SQL] Select 쿼리문, Where절 연습하기 (0) | 2022.01.05 |
Mysql 테이블 이름 변경하기 (Table RENAME) (0) | 2021.08.05 |
[Mysql] 기본 문법 데이터베이스 생성 및 테이블 조작(CREATE) (0) | 2021.08.03 |
Mysql에 엑셀파일 (CSV file) 삽입하기 (mysql csv data import) (0) | 2021.08.03 |