Oracle、MySQL的分页sql语句

转载 2011年01月09日 16:02:00

oracle 分页

1.
最好还是利用分析函数
row_number() over ( partition by col1 order by col2 )

比如想取出 100-150 条记录 , 按照 tname 排序

select tname,tabtype from (
   select tname,tabtype,row_number() over ( order by tname ) rn from tab
)
where rn between 100 and 150;

2.
直接使用 rownum 虚列
select tname,tabtype from (select tname,tabtype,rownum rn from tab where

rownum <= 150) where rn >= 100;


使用序列不能基于整个记录集合进行排序 , 如果指定了 order by 子句 , 排序的的是选出来的记录集的排序,经过测试,在 100 万条数据的表中 , 检索数据的时候 , 方法 2 的速度要比方法 1 要快的 .



ms sql server 分页 sql 语句

特点:一次查询,数据库只返回一页的数据。而不是取出所有的数据。


pagesize 每页显示记录数  currentpage :当前页数

 

select TOP pagesize * FROM ( SELECT TOP pagesize*currentpage   * from user_table   ORDER BY id DESC ) as aSysTable   ORDER BY id ASC


mysql 数据分页


LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。 LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0( 而不是 1) 为了与 PostgreSQL 兼容, MySQL 也支持句法: LIMIT # OFFSET #

 

mysql> SELECT * FROM table LIMIT 5,10;  // 检索记录行 6-15

 

//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.

 

//如果只给定一个参数,它表示返回最大的记录行数目,LIMIT n 等价于 LIMIT 0,n。
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行

oracle,mysql,SqlServer三种数据库的分页查询总结

MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。 LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参...
  • SH_King
  • SH_King
  • 2015年07月31日 15:36
  • 1823

ORACLE分页查询SQL语法——最高效的分页

--1:无ORDER BY排序的写法。(效率最高) --(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT *   FRO...
  • Honey_Potter
  • Honey_Potter
  • 2016年11月02日 22:51
  • 29411

Oracle中的SQL分页查询原理和方法详解

转载请注明出处:http://blog.csdn.net/anxpp/article/details/51534006,谢谢!     本文分析并介绍Oracle中的分页查找的方法。     Or...
  • anxpp
  • anxpp
  • 2016年05月29日 21:26
  • 29744

Oracle分页查询sql语句

1.oracle中的分页查询sql语句基本可以按照如下的模板来改写:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FR...
  • sinat_27535209
  • sinat_27535209
  • 2016年10月25日 14:43
  • 1142

MySQL大数据量分页SQL语句优化

分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情况下,如何将分页SQL做到更优化,让MySQL执行的更快的方法。 一般的情况下,我们的分页SQL语句是这样的: ...
  • scholar_man
  • scholar_man
  • 2016年03月30日 19:15
  • 1979

总结一些分页查询的方法SQL server,MySQL,oracle数据库及hibernate中

分页查询是数据库查询中经常用到的一项操作,对查询出来的结果进行分页查询可以方便浏览。那么Oracle、SQL Server、MySQL是如何实现查询的呢?本文我们就来介绍这一部分内容。以及hibe...
  • angus_737093684
  • angus_737093684
  • 2016年11月08日 08:29
  • 1085

Oracle SQL实现分页查询

Oracle SQL分页查询1、表结构SQL> desc test; 名称 是否为空? 类型 --------------------- -------- --...
  • u011532367
  • u011532367
  • 2015年12月03日 15:23
  • 2632

easyui中的分页实现(支持MySQL,SQLServer,Oracle)

Pagination.java package com.dxwind.common.bean; import java.sql.CallableStatement; import java.sql....
  • sgx425021234
  • sgx425021234
  • 2014年02月21日 14:20
  • 5499

浅谈Oracle与Mysql分页查询比较!!!!

浅谈Oracle与Mysql分页查询比较!!!!
  • u014185140
  • u014185140
  • 2016年07月25日 20:43
  • 4458

ORACLE分页查询SQL语法——最高效的分页

author:XIAOHUI_LIAO   ---from:http://blog.csdn.net/XIAOHUI_LIAO/article/details/1759990   --1:无ORD...
  • chengzhezhijian
  • chengzhezhijian
  • 2014年03月07日 13:03
  • 1256
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle、MySQL的分页sql语句
举报原因:
原因补充:

(最多只允许输入30个字)