在SQL中添加具有重复序列号的列,以在另一列中添加新值

时间:2018-09-24 09:39:53

标签: sql excel-vba

我需要有一个列,该列可以标识特定列的序列(给定示例中的名称),并且新名称从1开始。请参见下表。我不需要重复值的计数,我希望记录它们的出现。例如如果第一次出现在表中,则在其前面显示1;如果第二次出现,则在其前面显示2,依此类推...。然后再次显示1,以显示该列中遇到的新值。

我正在尝试在Excel VBA SQL查询中实现它。...

Please see the requirement here... I need to calculate column ID as per above explanation

enter image description here

2 个答案:

答案 0 :(得分:0)

大多数DBMS具有row_number()功能,所以我会使用它:

select t.*, row_number() over (partition by name order by ?) as seq
from table t;

如果DBMS不具有row_number()功能,则可以使用子查询:

select t.*, ( select count(*)
              from table t1
              where t1.name = t.name and t1.pk <= ?
            ) as seq
from table t;

?表示您的pkprimary key)列,该列在整个表中具有唯一的唯一值,用于指定您的列顺序。

答案 1 :(得分:0)

使用Fromula = COUNTIF($ A $ 2:A2,A2),它将解决您的问题。如有疑问,请发表评论。

enter image description here