2014-05-12 2 views
1

내가 가지고있는 데이터베이스 테이블 발견 된 그 첫 번째 :어떻게 그룹 다른 열을 반환 만 보이는

Email, IP, Country 
[email protected] 1.2.3.4 Canada 
[email protected] 1.4.5.6 France 
[email protected] 5.4.3.3 United States 
[email protected] 5.4.4.2 Mexico 
[email protected] 5.1.1.1 France 

The Result that i want: 
[email protected] 1.2.3.4 Canada 
[email protected] 1.4.5.6 France 
[email protected] 5.4.4.2 Mexico 

리스팅 필터링 열입니다. 결과에는 전자 메일로 찾은 첫 번째 정보 만 표시되고 포함 된 정보에 관계없이 다른 정보는 제거해야합니다.

그룹별로 시도했는데 열 정보가 다르기 때문에 불가능했으며 모든 정보가 필요합니다.

이 아이디어는 어떻게 ms SQL 쿼리로 수행 할 수 있습니까? 특정 행을 원하는 경우

WITH CTE AS 
(
    SELECT Email, IP, Country 
     , RN = ROW_NUMBER() OVER (PARTITION BY Email ORDER BY Email) 
    FROM dbo.Emails 
) 
SELECT Email, IP, Country 
FROM CTE 
WHERE RN = 1 

변경 ORDER BY :

나는 당신이 각 그룹의 첫 번째 (전체) 행을 위해 CTE + Row_Number를 사용할 수있는 MS의 SQL 2008

+0

표시해야합니다. 죄송합니다. 변경했습니다. – Dror

답변

1

을 사용하고 있습니다 .

+0

위대한 작품입니다! 감사 – Dror

관련 문제