我在SQL Server 2005中有一个SQL语句,如下所示:
SELECT * INTO #TempTable FROM FirstTable WHERE
我真的非常希望得到的临时表有一个额外的字段,它实际上是一个整数字段,按照where子句返回记录的顺序从1开始计数.
这可能吗?
(基本上,我希望能够返回从第一个选择语句返回的记录的子集,沿着"第45到179行".)
试试这个,使用Row_Number:
-- insert into temp table SELECT *, ROW_NUMBER() OVER (ORDER BY SortColumn) AS SortColumn INTO #TempTable FROM FirstTable WHERE-- check the results and drop the table SELECT * FROM #TempTable WHERE SortColumn BETWEEN 45 AND 179 ORDER BY SortColumn DROP TABLE #TempTable
显然你需要更换SortColumn
你的情况下有意义的东西
编辑:
如果您只是尝试进行分页,那么有很多例子:
http://www.davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx
http://www.sqlteam.com/article/server-side-paging-using-sql-server-2005
http://www.google.com/search?q=sql+server+2005+paging