我有一个包含3列的表格:
ID VALUE SEQ
1 100
2 100
3 200
4 200
5 200
每当“VALUE”列中的值在更多行中重复时,列“SEQ”中的值必须增加1.预期输出为:
ID VALUE SEQ
1 100 1
2 100 2
3 200 1
4 200 2
5 200 3
根据我的理解,在将数据归档到此表时,无法在插入查询中完成。它必须使用后期处理才能完成。我想可以使用“row_number()和partition by”使用分析函数来完成,但不知道该怎么做。如果可以使用更好的方法完成,请告诉我。任何提示将不胜感激。 感谢。
答案 0 :(得分:3)
select id, value, row_number() over (partition by value order by id) as seq
from your_table;