MySQL、SqlServer、Oracle三大主流数据库分页查询(2)

2020-12-24 17:00

分页、mysql、server、oracle、数据库、MySQL、SqlServer、Oracle三大主流数据库分页查询

于是就有了如下分页方案: select top 页大小 * from table1 where id> (select max (id) from (select top ((页码-1)*页大小) id from table1 order by id) as T ) order by id 这种方

法执行多少始终没有大的降势, 后劲仍然很足。 尤其对于数据量大的时候, 该方法执行速度一点也不会降低。 使用 TOP 要求主键必须唯一,不能是联合主键。如果是联合主键,则查询出的 结果会乱序的。 目前 SQLServer2005 提供了一个 row_number()函数。ROW_NUMBER() 就是生成一个顺序的行号,而他生成顺序的标准,就是后面紧跟的 OVER(ORDER BY ReportID),其中 ReportID 可以是联合主键。下面,我们 看看怎么具体应用这个 RowNo 进行分页. SELECT TOP 10 * FROM ( SELECT top 10 ROW_NUMBER() OVER (ORDER BY ReportID) AS RowNo FROM TABLE ) AS A WHERE RowNo> " + pageIndex*10 pageIndex 就是我们需要数据的页数. 但对于 SQLServer2000 的话,如果是联合主键,我还没有解决办法,如果大 家有可跟我联系。谢谢大家了。

三、

ORCALE 数据库分页查询

ORCALE 数据库实现分页查询可以使用 row_number()函数或者使用 rownum 虚列两种方法。 第一种:利用分析函数 row_number() 方法 select * from( select t.*,row_number() over (order by t1.id) rowno from TABLE1 )


MySQL、SqlServer、Oracle三大主流数据库分页查询(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:住建部《建设用地容积率管理办法》(建规〔2012〕22号)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: