首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

三种数据库兑现分页

2013-07-09 
三种数据库实现分页在查询情况下,最经常的情况就是我们需要查询几条数据,而不是全部的查询出结果,比如最为

三种数据库实现分页
在查询情况下,最经常的情况就是我们需要查询几条数据,而不是全部的查询出结果,比如最为经典的情况就是在我们写一个查询结果列表的情况,我们希望结果是分页显示,也就是查询出一段记录集。
在不同的数据库当中有不同的用法,下面看看不同的数据库是如何处理的:

SQL Server 
 在分页查询上,我感觉SQL Server比较费劲,没有一个专门的分页的语句,靠的是一种巧妙的方法实现分页查询:

折叠复制代码
id      city        country     age     sex     username   
  
1   北京  中国  25  1   小黄   
3   广州  中国  26  1   小明   
4   深圳  中国  24  1   小李   
5   纽约  美国  25  1   Jack   
6   华盛顿 美国  23  1   Tom   
7   伦敦  英国  19  0   Lela   
select * from t_user
 select * from (select top 2 * from (select top 6 * from t_user order by id asc ) as aaa order by id desc) as bbb order by id asc

折叠复制代码
1   北京  中国  25  1   小黄   
3   广州  中国  26  1   小明   
4   深圳  中国  24  1   小李   
5   纽约  美国  25  1   Jack   
6   华盛顿 美国  23  1   Tom   
7   伦敦  英国  19  0   Lela   
折叠复制代码
6   华盛顿 美国  23  1   Tom   
7   伦敦  英国  19  0   Lela   
上面分页查询表示的是从第(6-2)=4条数据开始到第6条数据结束这段结果集。
 
MySQL
 MySQL有个专门针对查询出一段数据的语句limit,使用起来非常的方便。
 select * from t_user limit 2,3

折叠复制代码
4   深圳  中国  24  1   小李   
5   纽约  美国  25  1   Jack   
6   华盛顿 美国  23  1   Tom   
上面查询中的2代表从第2条数据之后开始,注意是第2条数据之后,不包含第2条数据。3代表总共查询3条记录。那么limit 2,3代表从第2条(不包含第2条) 数据开始查询出3条记录。
 
Oracle

Oracle中有个rownum,其含义更加明显,就是第几行的意思,这样我们就可以通过where条件来进行分段查询了。



select * from t_user where rownum>=2 and rownum<=4

注意:oracle上面的语句查不到数据,应该套一层,如下

select * from (select a.*, rownum rn from  t_user   a where rownum <= 4) where rn >= 2

折叠复制代码
3   广州  中国  26  1   小明   
4   深圳  中国  24  1   小李   
5   纽约  美国  25  1   Jack  


rownum很智能、、、
[解决办法]



rownum很智能、、、

rownum用起来要注意的,小于和小于等于能直接用rownum的,但是等于,大于和大于等于就不好用了,如下
select * from t_user where rownum <2;//能查到数据
select * from t_user where rownum <=2;//能查到数据
select * from t_user where rownum =2;//查不到数据
select * from t_user where rownum >2;//查不到数据
select * from t_user where rownum >=2;//查不到数据



这不废话嘛  常识哈   > = 能用rownum吗?   三种数据库兑现分页
[解决办法]
刚好以前写过相关文章,是最简单的分页,可以看看。
三种常用数据库(Oracle、MySQL、SQLServer)的分页
[解决办法]
总结的不错,刚好想比较下,谢谢楼主,哈哈……

三种数据库兑现分页
[解决办法]


很高兴帮到你,咱的目的达到了

热点排行