[MySQL] 중복 데이타 삭제하기

https://steemit.com/kr/@yjiq150/mysql

DELETEFROM revenue WHERE id IN ( SELECT id FROM (SELECT id FROM revenue GROUP BY collect_date, currency HAVING count(*) > 1) temp_table )
  • GROUP BY 쿼리를 이용하여 데이터를 aggregate 한 후에 중복된 데이터가 하나 이상 존재하는 경우를 찾는다.
  • 찾아진 데이터의 id 값을 temp_table 이라는 임시테이블로 명명한다.
  • temp_table로부터 id 값을 다시 SELECT해서 DELETE한다.

이 방법에서는 SELECT한 데이터를 temp_table이라는 임시테이블로 지정한 후에 temp_table로 부터 SELECT한 id값으로 reveue 테이블에 있는 데이터를 DELETE 했다. 즉, 같은 테이블에 대한 DELETE 작업이 아니기 때문에 제약을 피할 수 있게 된다.

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
62 [Linux] CentOS postfix 메일서버 설치 및 설정(sendmail 설정) 최고관리자 12-23 1,489
61 [Ubuntu] 인터넷 연결이 안될 때 최고관리자 12-07 1,297
60 [Apache SSL] Ubuntu 인증서(전자서명) 최고관리자 11-24 1,408
59 [Ubuntu] ssl 임시 인증서 준비 및 발급받기 최고관리자 11-23 1,793
58 [Ubuntu] apache2 환경설정 생성기 최고관리자 11-23 3,013
57 [Ubuntu] apache2 설치 최고관리자 11-23 1,312
56 [vi 편집기] 단축키 최고관리자 11-23 1,241
55 [유용한 블로그] ^^.^^ 최고관리자 11-19 1,248
54 [JS] TimelineJS - 시간의 흐름을 네비게이션화 최고관리자 11-19 1,316
53 [JS] 스크롤을 감지하여 사이트의 헤더를 보이거나 숨기기 최고관리자 11-19 1,452
52 [Linux] NAS Mount 최고관리자 11-12 1,266
51 [React] React활용 최고관리자 11-10 1,305
50 [PHP] exec 실행에 대한 응답코드 최고관리자 11-02 1,656
49 [Linux] Shell Script 최고관리자 10-26 1,563
48 [폰트] 폰트 찾기 사이트 최고관리자 10-21 1,367
47 [통신] Socket packet test Program 최고관리자 10-20 1,850
46 [통신] 맥용 Socket Test Program 최고관리자 10-20 1,637
45 [통신] Mac에서 TCP Socket통신 테스트 하기 최고관리자 10-20 2,910
44 [NginX] 504 Gateway Time-out 에러와 해결방법 +1 최고관리자 10-16 24,586
43 [NginX] 설정 최고관리자 10-13 1,579