三种数据库sql分页查询

原创 2013年12月04日 14:19:52

关于sql分页

今天用到分页了顺便就总结了一下

mysql 数据库:

mysql 中有分页的关键字limit,它可以实现分页很简单;
SELECT * FROM sys_user ORDER BY userid LIMIT startNo,total;

startNo 是查询开始的行数,total 是要查询出多少条;


sql server2005 数据库:
sql server 实现分页有两种方式可以实现;
一:利用 top 和 row_number() over(order by...)函数实现
  TOP 子句用于规定要返回的记录的数目  ,row_number()相当于伪列!
  select top total * from 
(select *,row_number() over(order by pid) rownum from person_base )x where x.rownum>startNo
startNo 是查询开始的行数,total 是要查询出多少条;
需要注意的是 row_number()函数后边必须有一个排序over(order by pid)
二:利用top 和 not in 实现
select top total * from person_base where pid not in
( select top startNo pid from person_base order by pid)
order by pid

根据别人测试的数据显示第二种方法比第一种方法效率要高


Oracle 数据库:
Oracle 实现分页需要用到伪列rownum
select * from (select *,rownum rno from person_base where rownum < = (pageNo * pageSize)) x where rno > ((pageNo - 1) * pageSize);
pageNo 是第几页  pageSize 是每页显示的个数

在Oracle中即有 rownum 又有row_number 但是两者是有区别的
1.rownum的特性(没有1就不会有2,没有3……以此类推下去)决定的 rownum只能从1开始
2.使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而函数row_number()在包含排序从句后是先排序再计算行号码。

几种流行的数据库SQL分页

1.Oracle:  select * from ( select row_.*, rownum rownum_ from ( query_SQL ) row_ where rownum == min...
  • qjyong
  • qjyong
  • 2006年11月28日 21:52
  • 1389

Oracle、MySql、SQLServer 数据库中分页查询中的关键字总结

(一)、 mysql的分页查询
  • langjian2012
  • langjian2012
  • 2014年10月17日 22:13
  • 6832

各种数据库的分页查询语句

1.oracle数据库分页 select * from (select a.*,rownum rc from 表名 where rownum=startrow 2.DB2数据库分页 Select ...
  • lee576
  • lee576
  • 2014年08月21日 09:06
  • 12352

四种方式实现SQLServer 分页查询

SQLServer 的数据分页: 假设现在有这样的一张表: CREATE TABLE test (  id int primary key not null identity,  names...
  • kasama1953
  • kasama1953
  • 2016年08月17日 08:33
  • 14073

三种数据库sql分页查询

关于sql分页 今天用到分页了顺便就总结了一下 mysql 数据库: mysql 中有分页的关键字limit,它可以实现分页很简单; SELECT * FROM sys_user ORDER BY u...
  • luowangcao
  • luowangcao
  • 2013年12月04日 14:19
  • 1202

三大数据库分页sql

三大数据库分页sql
  • xiaogg3678
  • xiaogg3678
  • 2015年07月30日 11:54
  • 266

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

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

各种数据库(MYSQL、Oracle、DB2、SQL Server、PostgreSQL)的分页查询语句

分页查询,就是将将过多的结果在有限的界面上分好多页来显示,这个是很多网站常用的功能,也是最基本的功能,今天简单总结一下。          分页以前听人们说都是一项技术,但是我觉的不尽然。我认为分页是...
  • Zhangxichao100
  • Zhangxichao100
  • 2016年05月27日 08:52
  • 2947

常用3种数据库的Sql分页

在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多...
  • diligentcat
  • diligentcat
  • 2013年11月04日 10:54
  • 1862

mysql分页,oracle分页,sql server三种数据库实现分页

  • 2013年08月07日 15:14
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三种数据库sql分页查询
举报原因:
原因补充:

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