文档章节

MySQL和Oracle分页查询实现方式

蔡佳娃
 蔡佳娃
发布于 2017/08/07 23:56
字数 553
阅读 106
收藏 3
点赞 0
评论 0

MySQL分页查询

    MySQL数据库实现分页比较简单,提供了limit函数,一般只需要直接写到sql后面既可以了。

    limit子句可以用来限制有select语句返回来的数据数量,它有一个或者两个参数,如果给出两个参数,第一个参数指定返回的第一行所有的数据中的位置,从0开始,第二个参数指定最多返回的行数。如:

#返回前10行
select * from table where ... limit 10;

#返回前10行
select * from table where ... limit 0, 10;

#返回第11-30行
select * from table where ... limit 10, 20;

Oracle分页查询

    在Oracle中没有limit关键字,但是有rownum字段,rownum是一个伪列,是Oracle系统自动为查询返回结果的每行分配的编号,第一行为1,第二行为2,以此类推...

    众所周知,rownum只适用于小于或者小于等于,如果进行等于判断,那么只能等于1,不能进行大于的比较。这是因为rownum的返回值总是从1开始,不管当前的记录是否满足查询结果,rownum的返回值都是1,如果这条记录最终满足所有的条件,那么rownum会递加,下一条记录的rownum就回返回2,否则下一条记录的rownum仍然返回1。明白了这个,就容易理解当rownum大于某个值或者等于某个不为1的值是无法返回结果的,因为对于每条记录的rownum都是1,而rownum为1不满足查询的结果,所以下一条记录的rownum不会递增,仍然是1,所以所有的记录都不满足条件。

    写法一:

select * from
    (select A.*, ROWNUM RN from (select * from table) A where ROWNUM <= 30) 
where RN >= 21;

    最内层的查询select * from table表示不进行翻页的原始查询语句。ROWNUM<=40和RN>=21控制分页查询每页的范围。

    写法二:

select * from
(select e.*, ROWNUM r from (select * from table) e) e1
where e1.r > 21 and e1.r <= 40;

 

© 著作权归作者所有

共有 人打赏支持
蔡佳娃
粉丝 16
博文 54
码字总数 48865
作品 0
海淀
程序员
Oracle、MySql、SQLServer 数据分页查询

Oracle、MySql、SQLServer 数据分页查询 最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一)、 mysql的分页查询 mysql的分页查...

什么是程序员 ⋅ 2016/11/13 ⋅ 0

主流数据库分页查询介绍

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

数通畅联 ⋅ 2015/11/26 ⋅ 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 ⋅ 0

Hibernate实现分页查询的简要分析

本文向大家介绍Hibernate查询分页,可能好多人还不了解Hibernate查询分页,没有关系,下面有一个例子,从第2万条开始取出100条记录看完本文你肯定有不少收获,希望本文能教会你更多东西。 Ja...

xiangtao ⋅ 2012/08/31 ⋅ 2

轻量级的ORM框架--easy4net

easy4net是一个轻量级orm框架,灵活在于可以自己编写复杂的SQL语句查询,简单在于几分钟内便能上手使用,并支持mysql, mssql, oracle, access数据库. 详细文档地址:http://git.oschina.net/...

奋斗2018 ⋅ 2014/04/23 ⋅ 4

wangwei123/easy4net

easy4net是一个轻量级orm框架,灵活在于可以自己编写复杂的SQL语句查询,简单在于几分钟内便能上手使用,并支持mysql, mssql, oracle, access, sqlite数据库. easy4net技术QQ 群:162695864...

wangwei123 ⋅ 2014/04/23 ⋅ 0

Hibernate实现分页

分页在任何系统中都是非常头疼的事情,有的数据库在语法上支持分页,而有的数据库则需要使用可滚动游标来实现,并且在不支持可滚动游标的系统上只能使用单向游标逐步接近要取得的数据。 Hibe...

姚君 ⋅ 2014/04/02 ⋅ 0

wangwei123/Mast

Mast是一个轻量级orm框架,能够在几分钟内快速上手开发,并支持mysql, mssql, oracle, access数据库. Mast技术QQ 群:317355966 目前Mast支持以下功能: 新增,修改,删除,查询 自动分页功能...

wangwei123 ⋅ 2014/10/13 ⋅ 0

Mysql 分页语句Limit用法

1、Mysql的limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。 SELECT * FROM table LIMIT [off...

李有常 ⋅ 2015/08/22 ⋅ 0

☆MySQL order by limit 分页数据重复问题

0 问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页。但是,当limit遇到order by的时候,可能会出现翻到第二页...

猿码道 ⋅ 05/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 7分钟前 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 12分钟前 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 24分钟前 ⋅ 0

说说javascript中的那些专业名词

DOM(Document Object Model) 文档对象模型 BOM(Browser Object Model) 浏览器对象模型 ECMA(European Computer Manufacturer's Association) 欧洲计算机制造商协会 W3C(World Wide Web Conso......

hang1989 ⋅ 44分钟前 ⋅ 0

Bootstrap Wizard 多步表单控件

废话 有一块需求是 有多步表单 点击下一步时触发验证一个范围内的表单,点击上一步或取消,清空表单并返回第一步,点击最后一步提交整个表单的 就找到了这个插件,本来自己写了一个原生的 fo...

无极之岚 ⋅ 今天 ⋅ 0

如何利用Spring Cloud构建起自我修复型分布式系统

利用Netflix所打造的组件及各类大家熟知的工具,我们完全可以顺利应对由微服务以及分布式计算所带来的技术挑战。 在过去一年当中,微服务已经成为软件架构领域一个炙手可热的新名词,而且我们...

harries ⋅ 今天 ⋅ 0

临近实习前的感想

再过两星期就要开始新的一段实习了,想想去年的这个时候也在实习,心中不免思绪万千,也一直想写对2017做个总结,但一直迟迟没有下笔。 2017年的春节,我就开始准备开学后找份实习。那时候就...

无精疯 ⋅ 今天 ⋅ 0

Spring AOP(面向切面编程)

Spring AOP概念: Spring AOP 可以劫持一个执行的方法,在方法执行之前或之后添加额外的功能。通常情况下,AOP把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而...

霍淇滨 ⋅ 今天 ⋅ 0

人工智能、机器学习、数据挖掘以及数据分析有什么联系?

人工智能是目前炙手可热的一个领域,所有的互联网公司以及各路大迦们纷纷表态人工智能将是下一个时代的革命性技术,可与互联网、移动互联网时代的变更相媲美;AlphaGo在围棋领域战胜人类最顶...

董黎明 ⋅ 今天 ⋅ 0

使用 vue-cli 搭建项目

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https://github.com/vuejs/vue-cli 一、 安装 node.js 首先需要安装node环境,可以直接到中...

初学者的优化 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部