programing

MySQL에서 여러 필드를 기반으로 중복된 행을 찾는 방법?

starjava 2023. 9. 19. 20:40
반응형

MySQL에서 여러 필드를 기반으로 중복된 행을 찾는 방법?

중복 가능:
Mysql 중복 행(2개의 열을 사용하여 중복 탐지됨)

MySQL 데이터베이스에는 많은 행이 있습니다.예를 들어,

id | title   | time  | domain
32   title1    12:30   domain1.com
33   title1    12:30   domain2.com
34   title2    14:20   domain1.com
35   title3    14:30   domain2.com
36   title1    12:30   domain55.com

제목과 시간만을 기준으로 데이터베이스에서 행을 선택하려면 어떻게 해야 합니까?중복 도메인이나 ID는 관심 대상이 아니며, 나머지 두 필드만 해당됩니다.

32번, 33번, 36번 행은 제목도 같고 시간도 같아서 검색하고 싶습니다.

제목이나 시간을 입력할 필요가 없습니다. 쿼리가 두 개 또는 50개의 필드에서 발견된 "중복" 일치가 있는 모든 필드를 반환했으면 합니다.그렇게 하면 제가 중복된 것들을 확인하고 편집하거나 삭제할 수 있습니다.

여기 당신이 원하는 것이 있습니다.

SELECT title, time  
  FROM table
GROUP BY title, time
  HAVING count(*) > 1
select distinct id, title, time
  from table t1
 where exists (select * 
                 from table t2 
                where t2.id <> t1.id
                  and t2.title = t1.title
                  and t2.time = t1.time
               )

언급URL : https://stackoverflow.com/questions/12691327/how-to-find-duplicate-rows-based-on-multiple-fields-in-mysql

반응형