在select语句中动态编号不同的sql行

Sub*_*iny 5 sql t-sql sql-server row-number

如何动态地在查询中对行进行编号,类似于:

Select distinct name from @table where %rules
Run Code Online (Sandbox Code Playgroud)

当我添加ROW_NUMBER()OVER()时,我丢失了我的distinct属性,它返回表中的每个元素,并带有唯一的行号.

Select distinct ROW_NUMBER OVER(order by name), name from @table where %rules
Run Code Online (Sandbox Code Playgroud)

我不想创建临时表,否则我会为临时表创建一个主键,并让它以这种方式插入行号.

提前致谢!

Rav*_*lli 4

像这样使用。

select ROW_NUMBER() OVER(order by name), * from 
(Select distinct name from @table where %rules) as mytable
Run Code Online (Sandbox Code Playgroud)