잠재적으로 중복 행 (가능한 NULL 값)을 포함하는 (1 ~ 000,000 행) 큰 테이블이 있습니다.중복 행 제거 # 2
- 선택에만 distinc 행 :
는 내가하고 싶은 것은 이것이다.
- 'id'필드가 중복 된 행을 제거하십시오.
는의 테이블을 보자 : 내가 얻고 싶은 것은
id | a | b
1 | 2 | 3
2 | 8 | 7
3 | 9 | 10
2 | 8 | 7
3 | 20| 12
: 아이디 3 행을 제거하는 동안 ID 2
id | a | b
1 | 2 | 3
2 | 8 | 7
행은 하나 개의 사본에 보존됩니다.
나에 대해 생각했다 :
SELECT DISTINCT id, a, b FROM table
; 별개의 행만 가져옵니다.- 어떻게 든 중복 ID를 제거하려면 (1)의 결과를 필터링하십시오.
어떻게 접근하는 것이 가장 좋을까요?
SO 검색 상자에'sql remove duplicate rows'를 입력했을 때 발견 한 것에 대해 궁금합니다. 제가 한 40 페이지의 결과를 얻었습니까? :-) 죄송합니다, 잽을 저항 할 수 없습니다 : http://stackoverflow.com/search?q=sql+remove+duplicate+rows – paxdiablo
행 2가 두 번 반복되고 아래에 나열되어 있지만 행 1 두 번 반복되지 않습니다 참조하십시오 아래에 나열되어 있습니다. 약간 혼란 스럽 습니다만, 아래 1 행만 또는 1 행 3 행만 가질 예정 이었습니까? – Neil
@Neil, 내용이 동일했기 때문에'2'가 살아남은 것 같습니다.'3'은 두 레코드가 다르기 때문에 버려졌습니다. (즉, 모든 사본이 동일하면 ID의 사본 하나를 보관하고, 그렇지 않은 경우에는 ID를 버립니다.) 이는 내 유령 주석을 부정확하게 만듭니다. case :-) Petr에게 사과하면. – paxdiablo