用简单的SQL实现手动增量

时间:2019-05-14 11:47:12

标签: sql oracle

我有一个表,其中包含一列fieldName和另一列numberOfLine

我想在numberOfLine的情况下自动将fieldName加1。如果fieldName更改了,插入请求NumberOfLine的{​​{1}}重新启动计数也必须从1开始

我想使用一个简单的sql请求而不使用insert into TableName values ('xxx', ?:NumberOfLigneIncrementedByFieldName)

例如:

enter image description here

2 个答案:

答案 0 :(得分:6)

您想要row_number()

select t.*, row_number() over (partition by fieldname order by ?) as numberofline
from table t;

?表示用于指定列顺序的顺序列。

答案 1 :(得分:2)

您将使用country.value来计算查询中的值:

row_number()

通常,select fieldName, row_number() over (partition by fieldName order by fieldName) as NumberOfLine from t; 是另一列,用于指定所需的顺序。