PostgreSQL-重复条目的列跟踪计数

时间:2018-08-10 03:59:36

标签: python postgresql psycopg2

我下面有一张桌子:

no_1   no_2   
  1      2       
  2      3       
  3      4       
  1      2       

我想在此表中添加一个新列(“ dupl_cnt”),该列在每个唯一行的第一个条目上均等于0,但随后会以递增的数字(一点点)标记每个重复的行类似于序列类型,但仅限于重复行):

no_1   no_2   dupl_cnt
  1      2       0
  2      3       0
  3      4       0
  1      2       1
  2      3       1
  1      2       2
  5      6       0

关于实现这一目标的一段相对容易的代码的任何建议? PostgreSQL是否具有可以以这种方式起作用的数据类型?

我将通过psycopg2模块将其工作到Python代码中,因此,如果该模块具有为此所需的工具,请也向我指出。谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这可以解决您的问题。

select no_1, no_2, row_number() over (partition by no_1, no_2) as dupl_cnt from yourtable;