-2
表phoneRecord有值:SQL选择具有鲜明的最后10个字符
14445556666
4445556666
7778889999
我想用不同的过去10个字符,这将给我造成选择:
14445556666
7778889999
表phoneRecord有值:SQL选择具有鲜明的最后10个字符
14445556666
4445556666
7778889999
我想用不同的过去10个字符,这将给我造成选择:
14445556666
7778889999
你可以做到这一点很容易像这样的:
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;
请注意,您必须决定哪些duplicates
记录要离开,因为它们不是真正的重复记录。在我的示例中,我使用的是最小值:
ORDER BY [value]
您可以将其更改为其他值。
通常你应该发布你试过的东西,因为这不是一个'为我做'的网站 – Randy