我需要有一个列,该列可以标识特定列的序列(给定示例中的名称),并且新名称从1开始。请参见下表。我不需要重复值的计数,我希望记录它们的出现。例如如果第一次出现在表中,则在其前面显示1;如果第二次出现,则在其前面显示2,依此类推...。然后再次显示1,以显示该列中遇到的新值。
我正在尝试在Excel VBA SQL查询中实现它。...
Please see the requirement here... I need to calculate column ID as per above explanation
答案 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;
?
表示您的pk
(primary key
)列,该列在整个表中具有唯一的唯一值,用于指定您的列顺序。
答案 1 :(得分:0)