중복데이터 삭제.. 0 1 716

by 밍밍밍밍 [MySQL] [2017.12.29 17:30:10]


SELECT a.*   FROM users a  INNER JOIN        (SELECT username, birth           FROM users          GROUP BY username, birth         HAVING COUNT(*) > 1         ) b     ON a.username = b.username    AND a.birth    = b.birth ;

 

 

중복데이터 걸러내는쿼리인데

혹시 저결과값으로 삭제를하고싶은데

Delete만 추가하니안되서 질문남겨드립니다..

by 마농 [2018.01.02 08:41:48]
DELETE 
  FROM users
 WHERE userid IN (SELECT a.userid
                    FROM users a
                   INNER JOIN
                         (SELECT username, birth
                               , MIN(userid) min_userid
                            FROM users
                           GROUP BY username, birth
                          HAVING COUNT(*) > 1
                          ) b
                      ON a.username = b.username
                     AND a.birth    = b.birth
                     AND a.userid   > b.min_userid
                  )
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입