첫 번째 레코드를 제외한 모든 중복 레코드를 제거하고 싶습니다.SQL의 첫 번째 레코드를 제외한 중복 레코드 제거
등 :
NAME
R
R
rajesh
YOGESH
YOGESH
이제 위에서 나는 두 번째 "R"두 번째 "인 Yogesh"를 제거합니다.
이름이 "NAME"인 열이 하나뿐입니다.
SELECT DISTINCT name
FROM mytable
첫 번째 레코드를 제외한 모든 중복 레코드를 제거하고 싶습니다.SQL의 첫 번째 레코드를 제외한 중복 레코드 제거
등 :
NAME
R
R
rajesh
YOGESH
YOGESH
이제 위에서 나는 두 번째 "R"두 번째 "인 Yogesh"를 제거합니다.
이름이 "NAME"인 열이 하나뿐입니다.
SELECT DISTINCT name
FROM mytable
는 CTE를 사용 (내가 생산이 몇 가지 있습니다) : 간단한 distinct
수정이 트릭을 할 것 같은
보인다.
;WITH duplicateRemoval as (
SELECT
[name]
,ROW_NUMBER() OVER(PARTITION BY [name] ORDER BY [name]) ranked
from #myTable
ORDER BY name
)
DELETE
FROM duplicateRemoval
WHERE ranked > 1;
설명 다음 CTE는 당신의 모든 레코드를 잡고 각각의 고유 한 항목에 대한 행 번호를 적용합니다. 각 추가 항목은 증가하는 숫자를 갖습니다. 무엇이 수행되는지 확인하려면 을 SELECT *
으로 바꿉니다.
고유 값을 제거하거나 선택 하시겠습니까? –
첫 번째 제외하고 중복 만 제거합니다. –
동일하면 첫 번째인지 아닌지 어떻게 알 수 있습니까? 그리고 그것은 정말로 중요합니까? 그리고 하나의 컬럼 만 가지고 있기 때문에 테이블이 정렬되지 않은 세트이기 때문에 첫 번째 컬럼이 없습니다. –