我正在努力创建一个家庭ID,当我的文件中的人具有相同的地址但分配给不同的人。我需要它是每个具有相同地址而不是顺序ID的人的相同ID,并且我正在使用名为Alpine的程序,所以我需要使用Sql或pig语法版本。
发布于 2019-02-22 10:27:03
具有相同地址的每个人的相同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都有一些自动增量功能,用于生成行号。
https://stackoverflow.com/questions/-100006384
复制相似问题