为每组重复项分配ID值

时间:2014-07-14 15:00:31

标签: sql oracle oracle-sqldeveloper

enter image description here

如何在ID列第二个表中看到的每组重复记录的ID值?换句话说,如何让第一个表看起来像使用SQL查询的第二个表?

假设第一个表中的名字和姓氏可以重复显示。

每个名字和姓氏可以有一个或多个购买年限和费用。

给定的图像只是一个样本。表1中的总记录可以达到数千个。

我正在使用Oracle SQL。

注意:我只使用一个表,这是第一个表。第二张桌子就是我想要的。

1 个答案:

答案 0 :(得分:5)

您可以使用DENSE_RANK分析函数分配ID,如下所示:

修改

简化查询以生成ID。

SELECT 
    DENSE_RANK() OVER (ORDER BY First_Name, Last_Name) ID,
      t.*
FROM Table1 t;

<强>参考

DENSE_RANK on Oracle Database SQL Reference