如何根据值对记录进行编号

时间:2014-02-04 22:34:59

标签: sql rank

我有以下数据

FieldA   FieldB      FieldC   FieldD
1234     01/05/14    Mark     John
3234     05/04/2014  Mark     Smith
3232     05/09/2013  Kara     Sidney
3554     06/08/2012  Lamar    Angela
5668     01/01/2011  Kara     Rick

我在数据集中有1500万条相似的记录。 我想创建一个查询,只要它们看起来是唯一的数字,就会给“Mark,Kara,Lamar”提供唯一的数字。

FieldA   FieldB      FieldC   FieldD   FieldE 
1234     01/05/14    Mark     John       1
3234     05/04/2014  Mark     Smith      1
3232     05/09/2013  Kara     Sidney     2
3554     06/08/2012  Lamar    Angela     3
5668     01/01/2011  Kara     Rick       2

我该怎么做?

1 个答案:

答案 0 :(得分:1)

如果你真的想发疯,这是一个解决方案:

SELECT [FieldA], [FieldB], a.[FieldC], [FieldD], [FieldE]
FROM [TABLE] a
LEFT JOIN(
SELECT DISTINCT [FieldC], pwdencrypt([FieldC]) as [FieldE]
FROM [TABLE]) b
ON a.[FieldC] = b.[FieldC]

pwdencrypt()创建非常唯一ID。