------------------SQL SERVER 2000 取第几行到第几行的方法-------------------
--(第一种方法) 效率最差
select top 5 * from customers where CustomerID not in (select top 5 CustomerID from customers)
--(第二种方法) 效率最好, 这里先执行的是Order by 然后才执行Top
select b.* from ( select top 5 a.* from ( select top 10 * from customers order by CustomerID asc ) a order by a.CustomerID desc ) b order by b.CustomerID
--(第三种方法) 利用临时表和identity(int,1,1
DROP TABLE #temp
select identity(int,1,1) as rowID,* into #temp from customers
SELECT * FROM #temp WHERE rowID>5 AND rowID<=10
------------------SQL SERVER 2005+ 取第几行到第几行的方法-------------------
SELECT b.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY c.customerid) rowIndex,* FROM Customers c) b WHERE b.rowIndex>5 AND b.rowindex<=10 作者: 混混@普宁.中国 时间: 2012-10-11 21:44:45