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

时间:2013-03-07 20:30:49

标签: sql sql-server tsql row-number

如何在类似于此的查询中动态编号行:

Select distinct name from @table where %rules

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

Select distinct ROW_NUMBER OVER(order by name), name from @table where %rules

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

提前致谢!

1 个答案:

答案 0 :(得分:4)

像这样使用。

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