文档章节

mysql 和 oracle 实现分页原生 sql

糊说八道
 糊说八道
发布于 2018/07/16 19:20
字数 439
阅读 28
收藏 6

比如使用 Java 开发的项目中操作数据库,那么现在和数据库交互的工作现在都用框架,比如  MyBatis 或者 Hibernate 但是他们不还是通过 JDBC 的方式访问数据库,那么我们就有必要根据数据库类型采取不同的 sql 分页语句,对于 mysql 数据库,我们可以采用 limit 语句进行分页,对于 oracle 数据库,我们可以采用 rownum 的方式进行分页。

那么在这里我就简单分享下原生的分页 sql :

mysql 的分页 sql 是:

select * from table limit m , n ;  其中 start 是页码,limit 是每页显示的条数。

limit 后的两个参数中,参数 m 是起始下标,它从 0 开始;参数 n 是返回的记录数。我们需要分页的话指定这两个值即可。

例:select * from test limit 3,5;--查询 test 表从 3 开始,5 条数据  

oracle 的分页 sql 是:

select * from ( select rownum rn , u.* from users u) ua where ua.rn between 3 and 4;

u.* 是查询别名是 u 的表的所有列,rownum rn 就是将 rownum 起个别名 rn。

另外分享一篇博客:Oracle 中的 SQL 分页查询原理和方法详解 想了解 oracle 分页原理的可以看下。

 

水平有限,若有问题请留言交流!

互相学习,共同进步 :) 转载请注明出处谢谢!

© 著作权归作者所有

糊说八道
粉丝 8
博文 100
码字总数 46908
作品 0
其它
程序员
私信 提问
MyBatis如何适应不同数据库分页方言?

问题描叙: 系统DAO层现使用类jdbcTemplate解决方案,原生SQL,故多数据库分页使用多个sql解决,如下例,同一DAO方法,不同方言sql,另某些sql需要子查询走索引: mysql: select * from conte...

JT明镜止水
2018/06/15
1K
2
Oracle和MySQL数据库的比较

本次使用Oracle11g和MySQL5.0作比较,目的是为了整理和巩固所学的数据库知识,也为了加深印象.(本人菜鸟,请大神们多多指教) 不同点 所占内存不同 Oracle11g在官网上下载的时候显示大约2g大小的...

青椒炒盖饭
2018/12/19
0
0
主流数据库分页查询介绍

1 背景概述 由于在项目中需要在页面上显示数量非常多的数据, 在进行数据库查询时首先会把所有的数据都查询出来,然后在进行显示,这时候分页查询的操作就必不可少了,本文介绍Mysql、Oracl...

数通畅联
2015/11/26
226
0
bboss持久层分页接口使用示例

bboss持久层分页接口比较有特色,提供了四种Style的分页接口: 第一种Style 根据sql语句直接分页,这种风格是bboss 3.6.0及之前版本一直沿用的接口 第二种Style 根据sql语句和外部传入的总记...

bboss
2016/01/03
85
0
数据库查询返回特定结果即分页查询

1 几种不同数据库的不同的分页写法: a mysql a) 查询前n条记录select * from table_name limit 0,nb) 查询第n条到第m条select * from table_name limit n,m b oracle a)查询前n条记录selec...

王小明123
2013/06/08
4.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

jQuery使用GET方式来进行异步请求

jQuery.get( url, [data], [callback] ):使用GET方式来进行异步请求 参数: url(String) : 发送请求的URL地址. data(Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,...

前端老手
15分钟前
3
0
网络安全市场需求

最近,网络安全技能差距的热门话题流传开来。技能差距经常被紧急讨论,可以看出它在实践中的作用是很大的。但信息安全是一门广泛的学科,所以在谈论“技能差距”时需要更具体。有专家表示,真...

linuxCool
32分钟前
3
0
定期批量改密,实现高效运维,保障口令安全

随着企业IT资产规模的不断增大,各类主机、应用系统的管理也变得愈加困难。 对于系统管理员来说,保证操作系统的密码安全是其重要工作,在需要维护众多的主机时,其面临的困境将是: 1、难以...

堡垒啊
57分钟前
5
0
怎样在磁盘上查找MySQL表的大小?这里有答案

导读 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎...

问题终结者
今天
6
0
Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2

问题 上一篇Spring Boot Cache + redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,说了一种时间方式,直接扩展注解的Value值,如: @Override@Cacheable(value = "people#${s...

xiaolyuh
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部