2017-10-17 161 views
-2

表phoneRecord有值:SQL選擇具有鮮明的最後10個字符

14445556666 
4445556666 
7778889999 

我想用不同的過去10個字符,這將給我造成選擇:

14445556666 
7778889999 
+2

通常你應該發佈你試過的東西,因爲這不是一個'爲我做'的網站 – Randy

回答

0

你可以做到這一點很容易像這樣的:

DECLARE @DataSource TABLE 
(
    [value] VARCHAR(12) 
); 

INSERT INTO @DataSource ([value]) 
VALUES ('14445556666') 
     ,('4445556666') 
     ,('7778889999') 
     ,('17778889992') 
     ,('27778889992') 
     ,('37778889992'); 

WITH DataSource AS 
(
    SELECT [value] 
      ,ROW_NUMBER() OVER(PARTITION BY RIGHT([value], 10) ORDER BY [value]) AS [rowID] 
    FROM @DataSource 
) 
SELECT [value] 
FROM DataSource 
WHERE [rowID] = 1; 

enter image description here

請注意,您必須決定哪些duplicates記錄要離開,因爲它們不是真正的重複記錄。在我的示例中,我使用的是最小值:

ORDER BY [value] 

您可以將其更改爲其他值。