oracle分页改写为mysql_mysql和oracle分页
mysql分页
关键字limit,limit m,n 其中m表示起始位置的下标,下标从0开始。n表示要显示的条数,比如要查询一个表的第2到5条数据。
select * from emp limit 1,4;
oracle分页
关键字rownum, rownum表示返回数据的行号。使用它需谨慎,不能用rownum大于(大于1的数值)、大于等于(大于或等于1的数值)、=(大于或等于1的数值),否则无结果。
select count(*) from gcfr_t_vch a where rownum>1;
运行结果如下:
实际上这个表里是有数据的,理论上应该是能查出来数据的。但是为什么没有出来呢?
这是因为:
1、ROWNUM是伪列,必须要要有返回结果后,每条返回记录就会对应产生一个ROWNUM数值;
2、返回结果记录的ROWNUM是从1开始排序的,因此第一条始终是1;
这样,当查询到第一条记录时,该记录的ROWNUM为1,但条件要求ROWNUM>1,因此不符合,继续查询下一条;因为前面没有符合要求的记录,因此下一条记录过来后,其ROWNUM还是为1,如此循环,就不会产生结果。
备注:当使用“>、>=、=、between...and”这些条件时,从缓冲区或数据文件中得到的第一条记录的rownum为1,不符合sql语句的条件,会被删除,接着取下条。
上述查询可以通过子查询来替代:
select count(*) from ( select guid,rownum r from gcfr_t_vch t ) tt where tt.r >1
常见使用:
--rownum关键字:oracle对外提供的自动给查询结果编号的关键字,与每行的数据没有关系。
--注意:rownum关键字只能做< <=的判断,不能进行> >=的判断
select rownum ,e.* from emp e;
--查询员工信息的前5条数据 第一页数据
select rownum r,e.* from emp e where rownum <=5;
select * from (select rownum r,e.* from emp e where rownum <=5) t where r>0;
--查询员工信息的6-10条数据 第二页数据
select rownum r,e.* from emp e where rownum <=10;
select rownum,t.* from (select rownum r,e.* from emp e where rownum <=10) t where r>5;
--查询员工信息的11-15条数据 第三页数据
select rownum r,e. * from emp e where rownum<=15;
select * from (select rownum r,e. * from emp e where rownum<=15) t where r>10;
--分页规律总结:每页显示m条数据,查询第n页数据
select * from (select rownum r,e. * from 要分页的表 e where rownum<=m*n) t where r>m*n-m ;
--要分页的表既可以是真实的表,也可以是一个查询语句
--分页查询员工信息按照工资排序
select * from (select rownum r,t.* from (select * from emp order by sal) t where rownum<=10 ) where r>5
原文出处:
oracle和mysql分页, 土豆Z120553, https://www.cnblogs.com/hkdpp/p/8327857.html
oracle的分页查询, 愚蠢的程序员, https://www.cnblogs.com/wuxu/p/11198764.html
Oracle中的rownum不能使用大于>的问题, 我不会游泳, https://www.cnblogs.com/antis/p/6740777.html
oracle分页改写为mysql_mysql和oracle分页相关推荐
- oracle 毫秒时间换mysql_Mysql与Oracle常用时间格式的转换
Oracle与Mysql在传入时间的格式上大不相同,而自己去找又花了很久的时间.所以想把它记下来. 1.oracle中 "TO_CHAR (date, 'yyyy-mm-IW-dd-Day ...
- oracle接收输入参数,Oracle带输入输出参数存储过程(包括sql分页功能)
记录一下,免得以后忘记了又要到处去找. begin /*这里不能直接执行select语句但可以直接执行update.delete.insert语句*/ end里面不能接执行select语句,声明会话级 ...
- asp oracle 分页显示,利用ASP实现Oracle数据记录的分页显示
[IT168 服务器学院]一.引言 通过浏览器访问数据量大的表时需要进行分页.ASP对数据库记录分页显示可以通过ADO对象集Recordset对象来实现.Recordset具有以下几个用于分页显示的属 ...
- oracle分页查询前10条,Oracle查询前十条记录及分页查询(第5条到第10记录)
Oracle查询前10条记录及分页查询(第5条到第10记录) 如果你想了解Oracle查询前10条记录的相关实际应用方案的话,你就可以点击以下的文章对其在实际相关操作中的正确用法,有一个更加完善的认识 ...
- oracle mssql 实例,oracle,mysql,SqlServer三种数据库的分页查询的实例
MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了. LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数, ...
- sql server与oracle的分页,详解SQLServer和Oracle的分页查询
不管是DRP中的分页查询代码的实现还是面试题中看到的关于分页查询的考察,都给我一个提示:分页查询是重要的.当数据量大的时候是必须考虑的.之前一直没有花时间停下来好好总结这里.现在又将Oracle视频中 ...
- java oracle分页查询语句_oracle分页查询语句,java得到分页查询语句的方法
oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...
- oracle mysql limit用法_mysql以及oracle数据分页的sql示例(limit和Rownum的用法) | Soo Smart!...
对数据查询结果集截断获取,来实现数据库层的分页.在mysql以及Oracle下的实现如下: MySQL下使用limit和offset,Oracle使用Rownum. MySQL下limit和offse ...
- JAVA中oracle分页语句,oracle分页查询语句,java得到分页查询语句的方法
oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...
最新文章
- php异常处理方式,PHP异常处理办法
- docker 感性介绍
- 电脑小白学python_零基础的小白怎么学python?
- QT实现Three.js将Qt Quick项目用作纹理
- 85元一个万能工具箱,配齐24种螺丝刀+扳手,媲美德国工艺,家庭必备
- Spring中Bean的生命中期与InitializingBean和DisposableBean接口
- Windows下struct和union字节对齐设置以及大小的确定(一 简介和结构体大小的确定)...
- 深度模型压缩论文(02)- BlockSwap: Fisher-guided Block Substitution for Network Compression
- 创意设计师变圆周率为彩色艺术品
- ASP.Net服务端基本控件介绍
- 在arxiv上看到自己的投稿署了别人的名字是什么体验?
- J2EE开发时的包命名规则
- Spring REST Controller,在GET方式下,有多个参数时的处理
- Python面向对象(初识)
- svn合并分支到主干
- 永久且免费的CRM系统排行
- python 输出上三角行列式
- Windows事件ID大全
- python安装numpy模块教程_Python中Numpy包的安装与使用方法简明教程
- 如何制作GIF表情包,GIF怎么做
热门文章
- php 获取ip地址所在的区域
- 【python】实现多人网络聊天室
- XWPFTableRow、XWPFTableCell设置字体格式
- 我的Linux运维笔记
- 取之于民用之于民,分享一个云计算PPT(普及版)
- 黑苹果安装 未能与恢复服务器取得联系,联想M73小主机黑苹果 篇二:系统安装及BIOS设置...
- Primefaces UI应用FA字符
- 推荐免费的svn空间(SVN代码托管)
- 魄罗盒子一直显示连接服务器失败,英雄联盟安装错误代码7001004怎么办 | 手游网游页游攻略大全...
- 电子海图开发第四十九篇 船舶综合导航系统的设计(共一百篇)