2013-07-14 1 views
3

다음은 SQL Server의 테이블입니다. 아래는 내가하고 싶은 것입니다. 어떤 도움을 주시면 감사하겠습니다.중복 레코드 만 선택하는 방법은 무엇입니까?

표 :

Area (column 1) 
----- 
Oregon 
California 
California 
California 
Oregon 
Washington 
Idaho 
Washington 

내가 반환되는 중복 아닌 별개의 사람은 모든 도시를 원한다. 그냥 중복. 중복 만 돌려 줄 수있는 select 문이 있습니까? "하나 이상"- - GROUP BY .. HAVING 방법이 여기에 아마 더 나은 동안

답변

10
Select State FROM Area 
GROUP BY State 
Having COUNT(*) > 1 

, 자신의 컬럼과 테이블 이름

+1

덕분에 작동이 값을 반환하지 않습니다이 코드 – Nisar

0

으로이

업데이트이 경우 쿼리를 시도도 함께 답변을 얻을 수 있습니다 JOIN으로 가정하면 키를 구성하는 열 (또는 열 집합)이 있습니다. 키의 요구 사항은 고유해야 레코드를 식별해야한다는 것입니다. 이 * 고유 * 기록을 식별하지 않기 때문에

SELECT DISTINCT a1.State 
FROM AREA a1 
JOIN AREA a2 
    ON a1.AreaId != a2.AreaId -- assume there is a Key to join on 
    AND a1.State = a2.State -- and such that different Areas with same State 
+0

의 @TGH .. 그런 다음 적절한 키를 사용하지 않을 – Nisar

+0

@NISAR은 (주는 키로 사용할 수 없습니다). – user2246674

+0

감사하지만이 코드와 관련하여 93 %의 쿼리 비용이 7 % 미만입니다 ... "COUNT (*)> 1" – Nisar

관련 문제