sql分页
来源:互联网 发布:推送重贴标签算法 编辑:程序博客网 时间:2024/05/02 03:02
1、取出sql表中第31-40的记录(主键ID自增)
mysql :
2、pageSize = 20; pageNo = 5;
直接利用sql语句进行分页,效率最高(推荐)
mysql:
没有order by时,rownum按顺序输出,一旦有了order by,rownum不按顺序输出了,这说明rownum是排序前的编号。如果对order by从句中的字段建立了索引,那么,rownum也是按顺序输出的,因为这时候生成原始的查询结果集时会参照索引表的顺序来构建。
sqlserver:
mysql :
select * from t order by id limit 30,10oracle :
select * from (select rownum r, * from t where r<=40) where r>30sql server:
select top 10 * from t where id not in (select top 30 id from t order by id ) orde by idselect top 10 * from t where id in (select top 40 id from t order by id) order by id desc
2、pageSize = 20; pageNo = 5;
直接利用sql语句进行分页,效率最高(推荐)
mysql:
sql = "select * from articles limit " + (pageNo-1)*pageSize + "," + pageSize;oracle:
sql = "select * from " +"(select rownum r,* from " +"(select * from articles order by postime desc)" +"where rownum<= " + pageNo*pageSize +") tmp " +"where r>" + (pageNo-1)*pageSize;需要保证rownum的顺序是确定的,因为oracle的索引会造成rownum返回不同的值。
没有order by时,rownum按顺序输出,一旦有了order by,rownum不按顺序输出了,这说明rownum是排序前的编号。如果对order by从句中的字段建立了索引,那么,rownum也是按顺序输出的,因为这时候生成原始的查询结果集时会参照索引表的顺序来构建。
sqlserver:
sql = "select top 10 * from id not id(select top " + (pageNo-1)*pageSize + "id from articles)";
0 0
- Sql 分页
- SQL 分页
- sql分页
- sql分页
- sql分页
- sql分页
- SQL分页
- SQL分页
- sql分页
- sql 分页
- SQL分页
- SQL分页
- sql 分页
- 分页SQL
- SQL分页
- sql 分页
- sql分页
- 分页SQL
- 新国九条内容全文及内容解读
- oracle中的数据类型和java中的数据类型的对应关系
- vim入门-helloworld实现
- 游戏开发中的数学和物理算法(16):矩阵的乘法
- 修改Eclipse中项目在Apache Tomcat中的部署路径
- sql分页
- C语言学习笔记
- I2C驱动情景分析——怎样增加I2C设备
- 迷宫问题:利用BFS打印出从起点到终点的路径(java版)
- 最快速的Android开发环境搭建ADT-Bundle及Hello World
- linux服务器lamp环境配置遇到的问题
- SQL Server2005中的公用表表达式(CTE)的递归调用
- Java虚拟机---运行时数据区域
- 游戏开发中的数学和物理算法(17):平移