创建唯一ID以分配给文件中的重复地址

问题描述 投票:-1回答:1

我正在努力创建一个家庭ID,当我的文件中的人具有相同的地址但分配给不同的人。我需要它是每个具有相同地址而不是顺序ID的人的相同ID,并且我使用的是名为Alpine的程序,因此我需要使用Sql或pig语法版本。

sql duplicates uniqueidentifier id
1个回答
0
投票

具有相同地址的每个人的相同ID

最简单的解决方案是根本不创建ID,而只是使用地址作为您的ID。显然,它已经是独一无二的了。

如果您想要做的是为每个地址生成一个数字,那么在SQL中执行该操作的最简单方法是将表连接到自身(实际上只是地址)并计算“之前”的数量。大约:

select name, A.addr, count(*) as ID 
from T as A 
join (select distinct addr from T) as B
on B.addr <= A.addr
group by name, A.addr

这将为最低地址生成一个ID,为下一个地址生成2,依此类推。

几乎每个DBMS都有一些自动增量功能,用于生成行号。

© www.soinside.com 2019 - 2024. All rights reserved.