- 浏览: 270484 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (116)
- 开发工具 (21)
- Spring (5)
- Java (12)
- 面试题 (7)
- Hibernate (3)
- JavaScript (9)
- Jquery控件 (2)
- 自定义标签 (1)
- 错误总结 (3)
- Struts2+Juqery_qtip2 Form标签验证扩展 (1)
- Struts+Spring+MyBates (0)
- Oracle (37)
- Oracle错误总结 (5)
- J2EE (2)
- 研发管理 (1)
- MyBatis (1)
- Struts (1)
- Struts2 (1)
- PostgreSQL (1)
- weblogic (1)
- PL/SQL Developer (3)
- JSP (1)
- HTML (1)
- XHTML (1)
- JQuery (1)
最新评论
-
kyoldj:
select t.*, rownum rn
4. ...
oracle分页所遇到的rownum问题:要增加order by的唯一性 -
tanghuan:
不错不错
开发者如何提升和推销自己
Mysql分页采用limt关键字
select * from t_order limit 5,10; #返回第6-15行数据
select * from t_order limit 5; #返回前5行
select * from t_order limit 0,5; #返回前5行
Mssql 2000分页采用top关键字(20005以上版本也支持关键字rownum)
Select top 10 * from t_order where id not in (select id from t_order where id>5 ); //返回第6到15行数据
其中10表示取10记录 5表示从第5条记录开始取
Oracle分页
①采用rownum关键字(三层嵌套)
SELECT * FROM(
SELECT A.*,ROWNUM num FROM
(SELECT * FROM t_order)A
WHERE
ROWNUM<=15)
WHERE num>=5;--返回第5-15行数据
②采用row_number解析函数进行分页(效率更高)
SELECT xx.* FROM(
SELECT t.*,row_number() over(ORDER BY o_id)AS num
FROM t_order t
)xx
WHERE num BETWEEN 5 AND 15;
--返回第5-15行数据
解析函数能用格式
函数() over(pertion by 字段 order by 字段);
Pertion 按照某个字段分区
Order 按照勒个字段排序
Oracle的rownum字段是个比较奇怪的字段。拿一张有26条记录的Test表来举例。
select * from Test where rownum >=1;
select * from Test where rownum >=2;
select * from Test where rownum <= 10;
第一条sql查出了26条记录,第二条sql一条记录也没查出。第三条sql查出10条记录。
导致这个的原因是因为rownum是个虚拟的字段,它是在记录输出的时候逐步产生的。
对第一条sql,第一条记录的rownum是1,满足条件被输出,因此第二条纪录的rownum就变成2,满足条件被输出,依此类推,就把所有纪录都查出来了。
对于第二条sql,第一条记录的rownum是1,不满足条件没被输出,因此第二条记录的rownum还是1,没满足条件没被输出,依此类推,所有纪录都没能被查出来。
对于第三条sql,第一条记录的rownum是1,满足条件被输出,因此第二条记录的rownum就递增为2,满足条件被输出,直到第11条及之后的所有记录的rownum变成了11,不满足条件没被输出。
所以要查询Test表第n条到第m条的记录,我们应该这样写:
//对已形成的rownum进行过滤
select * from (
//先用一个select把待查sql包围起来,此时rownum已经形成
select row_.*, rownum rownum_ from ( select * from Test ) row_
) where rownum_ <= m and rownum_ >= n;
发表评论
-
oracle分页所遇到的rownum问题:要增加order by的唯一性
2013-12-04 17:04 1189昨天做完项目后让测试测试了一把,测试说分页查询貌似不起作用 ... -
Oracle中GOTO的用法
2013-12-03 14:37 1802Oracle中没有continue关键字,在loop中可以用 ... -
Oracle左连接与右连接区别
2013-10-28 19:12 1791数据表的连接有: 1、内连接(自然连接): 只有两个表相匹配 ... -
Oracle sql语句执行顺序
2013-07-05 09:53 28568sql语法的分析是从右到 ... -
修改oracle11g存档模式
2013-07-01 13:39 01.archive log list命令用户查看数据库存档 ... -
Oracle11g 导出数据库
2013-07-01 13:37 1253在运行中输入exp.exe, ... -
Oracle 冷备份和冷恢复
2013-07-01 13:37 1218阅读说明 1.参数说明 COLD_BACK_DIR: 冷备 ... -
Oracle创建用户,授权
2013-07-01 09:56 11101.用system,sys账户登录 2.创建用户creat ... -
MySql,Mssql,Oracle三种数据库性能优缺点及异同
2013-07-01 09:48 7353MySql优点 MySql是一个快速、多线程、多用 ... -
ORACLE纯SQL实现多行合并一行
2013-06-08 16:06 1797项目中遇到一个需求,需要将多行合并为一行。表结构如下:NAM ... -
Oracle触发器总结
2013-06-05 10:34 26631.触发器定义:触发器 ... -
row_number() over()分析函数用法
2013-05-10 16:12 4210row_number()over(partition ... -
Oracle数据库GLOBAL_NAMES参数的详细研究
2012-11-19 14:00 1118Oracle数据库GLOBAL_NAMES参数的相关知识 ... -
Oracle dblink远程调用序列时应注意的几点
2012-11-19 13:55 1908在一条语句中 ... -
Oracle dblink小结备忘
2012-11-16 10:48 17041.查看数据库的global_name ... -
Oracle dblink远程调用存储过程、函数、序列
2012-11-16 10:46 4177一、dblink远程调用procedure: 1、写了一个 ... -
Oracle job问题解决汇总
2012-11-13 10:42 1607一、job的运行频率设置 1.每天固定时间运行,比如 ... -
Oracle job操作注意事项
2012-11-13 10:40 1389创建一个简单的JOB实列 1、创建测试表 ... -
Oracle常用日期操作
2012-11-12 16:33 1193--Oracle trunc()函数的用法 /**** ... -
Oracle SQL性能优化
2012-11-06 16:12 1234(1) 选择最有效率的表名顺序(只在基于规则的 ...
相关推荐
**Qt编写的数据库分页demo**是一个用于展示如何在Qt应用程序中实现高效、用户友好的数据库数据分页功能的示例项目。这个demo的核心在于它能够处理大量的数据,如千万级记录,同时提供流畅的用户体验,包括上一页、...
### 各数据库分页语法支持 #### 概述 在数据库操作中,分页查询是一项非常常见的需求。分页能够帮助我们有效地管理大量的数据记录,提高数据查询的效率和用户体验。不同的数据库系统提供了不同的分页机制,本文将...
数据库分页是数据库管理系统中用于实现用户界面分段显示大量数据的一种技术。它允许用户逐步浏览数据集,而不需要一次性加载所有记录,从而提高用户体验并减少服务器资源的消耗。本篇文章将详细介绍如何在不同的...
基于VB6+ADO+ListView制作的一个数据库分页显示程序 基于VB6+ADO+ListView制作的一个数据库分页显示程序是使用VB6开发的一款数据库分页显示程序,使用ADO(ActiveX Data Objects)技术访问数据库,并使用ListView...
在ASP(Active Server Pages)与SQL Server的组合中,实现数据库分页显示是一项常见的任务,尤其是在构建大型数据驱动的Web应用程序时。分页能够有效地管理大量数据,避免一次性加载所有记录,提高页面加载速度,同时...
本教程将深入探讨如何在Qt应用中实现SQLite数据库的数据分页显示。 首先,我们需要在Qt项目中集成SQLite数据库支持。在Qt Creator中,新建一个Qt Widgets Application项目,然后在.pro文件中添加`QT += sql`来启用...
在这个"易语言测试源码,易语言数据库分页显示"的压缩包中,我们关注的是如何在易语言中实现数据库数据的分页显示功能。 数据库分页显示是常见的数据处理技术,尤其在网页或应用程序中,当数据量较大时,为了提高...
在IT行业中,数据库分页显示是一项常见的功能,尤其在网页应用和桌面软件中,用于处理大量数据时,分页能够有效提高用户体验,避免一次性加载过多数据导致系统性能下降。本示例是基于易语言(EasyLanguage)和MySQL...
数据库分页是数据库管理系统中一个重要的查询技术,用于在大量数据中实现高效的检索。当用户在网页或应用程序中浏览数据时,通常不希望一次性加载所有记录,而是分页显示,这样可以减少网络传输的数据量,提高用户...
一、此演示使MS Sql Server 2000默认安装的的数据库northwind,使用CUSTOMERS表中的数据做为演示,不用自已到处找表或自已建表 ... <br>(一次性读取后台分页,而非数据库分页) <br>经自已调试通过的完整工程。
数据库分页 用存储过程实现的 数据库分页 用存储过程实现的 数据库分页 用存储过程实现的 数据库分页 用存储过程实现的
在这个“易语言一个简单的数据库分页例程”中,我们将探讨如何使用易语言来实现数据库数据的分页显示。 在数据库应用中,分页是常见的数据展示方式,它可以帮助用户更有效地浏览大量数据,避免一次性加载所有数据...
数据库分页技术是大型Web应用中不可或缺的一部分,它有效地帮助用户在海量数据中浏览和查找信息,而不会一次性加载所有数据导致性能下降。本实例主要介绍了如何利用C3p0数据库连接池配合分层技术和JSTL(JavaServer ...
几条常见的数据库分页SQL 语句,针对oracle,sqlserver,mysql三种常见数据库的分页显示。
在本示例中,"Java Servlet 数据库分页功能演示" 提供了一个具体的应用场景,即如何在Servlet中实现数据库数据的分页展示。这在处理大量数据时尤其重要,因为它提高了用户界面的性能并提供了更好的用户体验。 首先...
数据库分页是Web开发中非常常见的一种技术,用于在大量数据中实现高效的浏览体验,避免一次性加载所有数据导致页面响应慢或内存消耗过大。这里提到的"一个通用的数据库分页类",很可能是PHP中设计的一个可复用的分页...
最完美的sql2005数据库分页,可以随便用的~!嘎嘎最完美的sql2005数据库分页,可以随便用的~!嘎嘎最完美的sql2005数据库分页,可以随便用的~!嘎嘎最完美的sql2005数据库分页,可以随便用的~!嘎嘎
在介绍数据库分页优化技术时,首先应当明确传统分页查询方法所存在的问题。在传统方法中,分页查询通常采用(limit, offset)方式,但这种方式随着数据量的增长及翻页数量的增加,查询效率会显著降低。尤其在数据量较...
### 数据库分页方法 在处理大量数据时,分页技术是提高用户体验、优化系统性能的重要手段之一。本文将深入探讨数据库分页的基本概念、原理以及实现方式,并通过具体的SQL语句示例来帮助读者更好地理解和掌握这一...