添加自动增量额外列以查看 SQL Server 表中不存在的列

jaw*_*r j 4 sql sql-server

我想在获取数据时创建一个额外的列,并且该列应该增加值,例如

id marks myextcolumn
--------------------
1   89        1
2   99        2
4   67        3
6   77        4
.
.
.
Run Code Online (Sandbox Code Playgroud)

Sha*_*rza 13

您需要使用row_number功能

架构:

CREATE TABLE #TAB (ID INT, MARKS INT)

INSERT INTO  #TAB
SELECT 1 ,  89   
UNION ALL
SELECT 2 ,  99  
UNION ALL
SELECT 4 ,  67 
UNION ALL
SELECT 6  , 77  
Run Code Online (Sandbox Code Playgroud)

请选择上表的 Rownumber 作为 Extra 列

SELECT 
    ID, MARKS, 
    ROW_NUMBER() OVER(ORDER BY (SELECT 1)) EXTRA_COL 
FROM #TAB
Run Code Online (Sandbox Code Playgroud)

结果将是

+----+-------+-----------+
| ID | MARKS | EXTRA_COL |
+----+-------+-----------+
|  1 |    89 |         1 |
|  2 |    99 |         2 |
|  4 |    67 |         3 |
|  6 |    77 |         4 |
+----+-------+-----------+
Run Code Online (Sandbox Code Playgroud)