我有一个表,其中有很多行。 表格的格式是这样的
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
答案 0 :(得分:3)
使用row_number()
来支持大多数dbms
select *, row_number() over(partition by col1,col2 order by col2) as col3
from table_name