- 注册时间
- 2011-5-26
- 最后登录
- 2013-9-17
- 在线时间
- 164 小时
- 阅读权限
- 100
- 积分
- 7890
- 帖子
- 992
- 精华
- 1
- UID
- 73
|
------------------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
|
|