如何在SQL表中获取其他自动编号。 我已经有了一个IDENTITY列,但我需要一个额外的列,它也会自动递增。
答案 0 :(得分:3)
您可以使用一组ranking functions。例如,您可以使用ROW_NUMBER()
函数,如下所示:
SELECT *, ROW_NUMBER() OVER (ORDER BY somefield) rownum
FROM table;
答案 1 :(得分:1)
如果你有两个自动递增列,那么它们必须总是相差一个常数,所以这样做没有任何价值吗?如果你真的希望它是一个列,那么你可以根据自动递增列的值使它成为一个计算列,
答案 2 :(得分:0)
你可以做这样的事情,
假设您有一个包含columnName ColA
的表,这就是您要增加的内容,
INSERT INTO tableName (colA, colB)
SELECT COALESCE((SELECT MAX(colA) + 1 FROM tableName),1) as ColA,
'colBValue' AS colB
FROM tableName