>  Q&A  >  본문

여러 필드를 기반으로 SQL 테이블에서 중복을 제거하는 방법

다음 설명이 포함된 게임 테이블이 있습니다.

으아아아

그러나 모든 게임은 양 팀의 일정에 따라 진행되기 때문에 모든 게임에는 테이블 어딘가에 중복된 항목이 있습니다. 동일한 날짜, 시간, hometeam_id,awayteam_id, locationcity 및 locationstate 필드를 기반으로 모든 중복 항목을 보고 제거하는 데 사용할 수 있는 SQL 문이 있습니까?

P粉757556355P粉757556355365일 전613

모든 응답(2)나는 대답할 것이다

  • P粉781235689

    P粉7812356892023-10-21 10:50:13

    다음과 같은 쿼리를 시도해 볼 수 있습니다.

    으아악

    이렇게 하면 데이터베이스에서 ID가 가장 작은 각 게임 인스턴스의 예만 하나만 유지됩니다.

    회신하다
    0
  • P粉201448898

    P粉2014488982023-10-21 00:59:19

    데이터를 제거하려면 상관 하위 쿼리를 수행할 수 있어야 합니다. 중복된 행을 모두 찾아 ID가 가장 작은 행을 제외한 모든 행을 삭제합니다. MYSQL의 경우 다음과 같이 내부 조인(EXISTS와 동일한 기능)을 사용해야 합니다.

    으아악

    테스트하려면 从游戏中删除游戏替换为从游戏中选择*를 배치하세요. 데이터베이스에서 삭제만 실행하지 마세요 :-)

    회신하다
    0
  • 취소회신하다