SQL Server中select语句中的autonumber

wil*_*iam 9 sql-server

我想用autonumber创建一个select查询语句..比如...

select * from tbl1
Run Code Online (Sandbox Code Playgroud)

会从桌子上给我一切.

我想得到的结果是......

1         data
2         data
3         data
Run Code Online (Sandbox Code Playgroud)

那我该怎么做才能得到这个数字.. ??

喜欢..

select (for autonumber), * from tbl1
Run Code Online (Sandbox Code Playgroud)

我的表中的数据将重复(没有唯一数据)

Mar*_*ers 24

使用ROW_NUMBER:

SELECT ROW_NUMBER() OVER (ORDER BY col1) AS rn, * FROM tbl1
Run Code Online (Sandbox Code Playgroud)

要根据行号过滤结果,请使用以下命令:

SELECT * FROM
(
    SELECT ROW_NUMBER() OVER (ORDER BY col1) AS rn, * FROM tbl1
) T1
WHERE rn = 5
Run Code Online (Sandbox Code Playgroud)

  • @william:别名T1可以是您选择的任何名称,只有在这种情况下才需要T-SQL语法. (2认同)