sql分頁語句1

方法一,主鍵可用newid()函數
从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by,则是从排序好的结果集中选择:
        SELECT *
        FROM  ( SELECT Top N * 
                         FROM  (SELECT Top (M + N - 1) * FROM 表名称 Order by 主键 desc) t1 order by 主键 asc) t2
        Order by 主键 asc

--方法二,前提是必需有一列是自动增长类型,唯一性

select top 10 * from [order details]
where orderid>all(select top 10 orderid from [order details] order by orderid)
order by orderid

--方法三,row_number()函數的利用 ( 适用于 SQL Server 2005)
select * from (select *,row_number() over (order by 排序字段) as [RowNumber] from 表名) as t2
where rownumber between 起始號 and 結束號

posted on 2007-01-24 17:34  感動常在  阅读(1271)  评论(3编辑  收藏  举报