2014-11-19 4 views
1

중복이없는 레코드를 선택하는 방법을 물어보고 싶습니다. 이는 전체 열에 한 번만 발생한다는 것을 의미합니다. 아래에서 쿼리를 시도해 보았습니다.이 레코드의 발생 횟수를 계산 한 후 결과를 가져올 컬럼을 추가 한 다음 어디를 통해 고유 한 필터를 시도하지만 작동하게 만들 수는 없습니다.SQL 중복이없는 레코드 만 선택하십시오.

Select tab1.[Column 0], Count(*) As NumOfMessage 
from tab1 where NumOfMessage = 1 group by tab.[Column 0] 

감사합니다. 고마워요!

+1

당신이 중복 무엇을 의미합니까를? 샘플 데이터를 제공 할 수 있습니까? –

+0

예 테이블 스키마 –

답변

6

사용 HAVING 절 :

SELECT [tab1].[Column 0] 
    , COUNT(*) AS [NumOfMessage] 
FROM [tab1] 
GROUP BY [tab].[Column 0] 
HAVING COUNT([tab].*) = 1 
+0

고마워. 이것은 효과가 있었다. :디 –

4

나는 "중복"이라고 말하면 [Column 0]의 값은 한 번만 나타납니다.

당신은 윈도우 기능이 작업을 수행 할 수 있습니다

select t.* 
from (select t.*, count(*) over (partition by [Column 0]) as cnt 
     from tab1 t 
    ) t 
where cnt = 1; 
+0

HI로 일부 데이터를 제공하십시오. 감사! 이것 역시 효과가있었습니다. :) 나는 당신의 도움 사람을 주셔서 감사합니다. –

관련 문제