row_number() 和between组成的一句sql,可能不写成存储过程吗?WITH D AS   
(   
SELECT *,row_number() OVER (ORDER BY id DESC)AS RowNum  
from abc) 
SELECT * FROM D WHERE (RowNum between @startIndex and @endIndex)
end 
这句sql,只能写成存储过程才行吗?能不能写成一条sql执行,如:
SELECT *,row_number() OVER (ORDER BY id DESC)AS RowNum  
from abc WHERE (RowNum between @startIndex and @endIndex)