1

如何在我的 SQL 表中获得额外的自动编号。我已经有一个 IDENTITY 列,但我需要一个也自动递增的附加列。

4

3 回答 3

3

您可以使用一组排名函数。例如,您可以ROW_NUMBER()像这样使用该函数:

SELECT *, ROW_NUMBER() OVER (ORDER BY somefield) rownum
FROM table;
于 2012-11-29T09:11:49.947 回答
1

如果您有两个自动递增的列,那么它们必须始终相差一个常数,所以这样做没有任何价值吗?如果您真的希望它成为一列,那么您可以根据自动递增列的值将其设为计算列,

于 2012-11-29T09:14:54.093 回答
0

你可以做这样的事情,

假设您有一个带有 columnName 的表ColA,这就是您要增加的内容,

INSERT INTO tableName (colA, colB)
SELECT  COALESCE((SELECT MAX(colA) + 1 FROM tableName),1) as ColA, 
        'colBValue' AS colB
FROM tableName
于 2012-11-29T09:13:05.557 回答