데이터 중복 제거 쿼리 질문 드립니다. 0 5 877

by 데므 [SQL Query] mysql query [2019.09.26 17:03:47]


테이블.png (62,475Bytes)
데이터.png (27,373Bytes)

안녕하세요. 우선 이렇게 제가 모르는 것을 해결해주려고 봐주셔서 정말 감사합니다. 이렇게 중복된 데이터 가 있을 때 1개만 남기고 제거 하려고 합니다. 조건절로는 where name='홍길동',sum=0,re_date=curdate(); 이렇게 3가지 조건을 주고, 1개만 남기고 나머지 데이터들은 제거하려고 합니다. 도움을 주시면 정말 감사하겠습니다.

by 마농 [2019.09.26 17:43:50]

원하는게 조회(Select)인가요? 삭제(Delete)인가요?
조회라면 Distinct 를 이용하면 됩니다.
삭제라면? 키가 있어야 가능합니다.
중복데이터가 들어간 걸로 보아 키 설정이 안된 듯 하네요?


by 데므 [2019.09.26 18:20:55]

원하는 건 삭제입니다! 중복데이터는 제가 서버,클라이언트 통신을 하고 있어서 불가피하게 통신 중 중복데이터가 발생해서 제거를 하고 싶습니다. 소스를 수정하기는 힘들어서요.


by 데므 [2019.09.26 18:56:15]

키 설정 없이는 제거를 못하나요?


by 마농 [2019.09.27 08:25:50]

중복되는 레코드를 식별해야 삭제가 가능한데
모든 값이 동일하면 식별이 불가능하죠.
위 조건에 해당하는 것만 삭제한다면?
총 6 건이니 LIMIT 5 로 삭제하면 될 듯 하네요.
즉 조건이 명확하고 건수를 알고 있으면 가능할 수 있습니다.
다만, 중복되는 모든 자료를 찾아 삭제하려면 키가 필요합니다.
지금 상태로는 Distinct 로 테이블 복제한뒤 원본 삭제 복제테이블 리네임 하는 방식을 써야 할 듯 하네요.


by 데므 [2019.09.27 11:21:18]

아 그렇군요 감사합니다.

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