mysql、mssql、oracle 分页总结

来源:互联网 发布:一落叶而知天下秋素材 编辑:程序博客网 时间:2024/05/02 18:36

首先是Mysql
简直就是简单的一P,主要是利用了mysql的limit关键字

/** sql:可以是单表的查询语句,也可以是多表的联合查询语句* pageIndex:当前页* pageSize:每页显示的记录数*/select o.* from (sql) o limit pageIndex*pageSize,pageSize

接下来mssql ,版本要在2005以后,利用了mssqltop 以及row_number()函数

/** pageIndex:当前页* pageSize:每页显示的数量* orderColumn:排序的字段名* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句*/select top pageSize o.* from (select row_number() over(order by orderColumn) as rownumber,* from(sql) as o where rownumber>pageSize*pageIndex;

最后是Oracle 有比较多的方式
先是ROWNUM方式

/** pageIndex:当前页* pageSize:每页显示的数量* sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句*/select * from(select a.*,ROWNUM rn from(sql) a where ROWNUM<=((pageIndex+1)*pageSize)) where rn>pageIndex*pageSize;

然后是row_number()方式

复制代码 /* * pageIndex:起始索引 * pageSize:每页显示的数量 * orderColumn:排序的字段名 * sql:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句 */select * from(select * from(select t.*,row_number() over(order by orderColumn) as rownumber from(sql) t) p where p.rownumber>pageIndex*pageSize) where rownum<=pageSize
0 0
原创粉丝点击