如果行数据相同,则将数字增加1

时间:2019-01-18 06:37:20

标签: sql

我有一个表,其中有很多行。 表格的格式是这样的

     col1|col2
     ---------
     001 |01|
     001 |01|
     001 |01|
     001 |01|
     001 |02|
     001 |02|
     001 |02|
     001 |02|
     001 |03|
     001 |03|
     001 |03|
     002 |01|
     002 |01|
     002 |01|
     002 |01|

我想在检查col1和col2值并将新值插入col3的表中添加新列

col1|col2|col3
---------------
 001 |01 |1
 001 |01 |2
 001 |01 |3
 001 |01 |4
 001 |02 |1
 001 |02 |2
 001 |02 |3
 001 |02 |4
 001 |03 |1
 001 |03 |2
 001 |03 |3
 002 |01 |1
 002 |01 |2
 002 |01 |3
 002 |01 |4

1 个答案:

答案 0 :(得分:3)

使用row_number()来支持大多数dbms

select *, row_number() over(partition by col1,col2 order by col2) as col3
 from table_name