`
lgstarzkhl
  • 浏览: 330585 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

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子句,排序的的是选出来的记录集的排序。


在ORACLE如果想取一张表按时间排序后的前5条最新记录: 方法一\二对,方法三错

SELECT  GUID,title,content FROM

(SELECT  GUID,title,content, row_number() over (order by releasetime desc)tm

FROM web_LO_Article WHERE funID=20 and content like '%<img %')

WHERE tm between 1 and 5



或者:select * from (select * from  web_LO_Article where funID=20 and content like '%<img %' order by releasetime desc)where rownum<6



ROW_NUMBER() 就是生成一个顺序的行号,而他生成顺序的标准,就是后面紧跟的OVER(ORDER BY ReportID)



SELECT  GUID,title,content,releaseTime
FROM web_LO_Article

WHERE funID=20 and rownum<6 and content like '%<img %'  order by releaseTime desc



方法三表示:查询数据库中的前5条数据,然后在对它们按时间降序排列。

select * from (select row_number() over(order by id) rn from et_sys_treebase) where rn between 3 and 5
表的记录就可以查询出来,结果是从3到5的记录
分享到:
评论

相关推荐

    Oracle多行记录合并

    本篇文章将详细介绍Oracle中实现多行记录合并的几种方法,包括使用SQL函数、集合操作以及自定义函数。 1. **使用SQL函数:** - **`LISTAGG()` 函数:** 这是Oracle 11g及以后版本引入的一个强大的聚合函数,专门...

    Oracle里抽取随机数的多种方法

    如果 tmp_1 记录比较多(10 万条以上),我们也可以找一个约大于两百行的表(假如是 tmp_3)来生成 tmp_2: create table tmp_2 as select trunc(dbms_random.value(1,5000)) as id from tmp_3 where rownum; 最后...

    Oracle结合Mybatis实现取表TOP 10条数据

    Oracle数据库在处理“取表TOP 10条数据”这类需求时,与SQL Server或MySQL等其他数据库系统有所不同。在Oracle中,没有直接的`TOP`关键字,而是使用`ROWNUM`来限制返回的行数。本文将详细介绍如何在Oracle数据库中...

    Oracle 多表查询优化

    在 FROM 子句中包含多个表的情况下,需要选择记录条数最少的表作为基础表。 2. 使用绑定变量 在 Oracle 中,使用绑定变量可以提高多表连接的效率。绑定变量可以减少 SQL 语句的解析时间和内存的使用。 3. 使用...

    对于 Oracle 的 rownum 问题

    如果你用&gt;,&gt;=,=,between...and这些条件,因为从缓冲区或数据文件中得到的第一条记录的rownum为1,则被删除,接着取下条,可是它的rownum还是1,又被删除,依次类推,便没有了数据。 有了以上从不同方面建立起来的...

    oracle分页查询

    如果想取得排序后的前几条记录,需要使用子查询来实现。 Hibernate 实现分页查询 Hibernate 也可以实现分页查询,例如: ```java Query q = session.createQuery("from Cat as c"); q.setFirstResult(20000); q....

    ROWNUM的使用技巧

    我们可以使用 ROWNUM 实现 Top N 结果输出,例如如果我们希望取输出结果的前面几条数据,可以使用以下 SQL 语句: ```sql select * from t_test4 where rownum ; ``` 这将返回结果中的前 5 条记录。 分页查询 ...

    关于oracle的rownum

    如果你使用 &gt;, &gt;=, =, between...and 这些条件,因为从缓冲区或数据文件中得到的第一条记录的 ROWNUM 为 1,则被删除,接着取下条,可是它的 ROWNUM 还是 1,又被删除,依次类推,便没有了数据。 例如,使用 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle 甲骨文 获得最高认证级别的ISO标准安全认证,性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。但价格不菲 大型企业 db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2...

    ORACLE重建索引总结

    3 、rebuild online 时系统会产生一个 SYS_JOURNAL_xxx 的 IOT 类型的系统临时日志表 , 所有 rebuild online 时索引的变化都记录在这个表中 , 当新的索引创建完成后 , 把这个表的记录维护到新的索引中去 , 然后 ...

    Oracle企业面试题集锦进入名企的好资料.pdf

    显式游标需手动定义,可处理多条记录,隐式游标由PL/SQL自动管理,主要用于单行操作或DML语句。 3. **Function与Procedure的区别**: - Function有返回值,必须在定义时指定,而Procedure不强制要求返回值。 - 在...

    几种数据库常见分页sql

    几种数据库常见分页sql 我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库...根据自己使用过的内容,把常见数据库SQL Server,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如下:

    Oracle初级(子查询).doc

    - 多行子查询:返回多条记录,如`(SELECT deptno FROM emp WHERE job = 'MANAGER')`。 在使用子查询时,需要注意以下几点: - 嵌套子查询中通常建议为子查询取别名,提高SQL的可读性和执行效率。 - 当子查询用作...

    Oracle SQL语法

    Oracle SQL语法主要涉及以下几个方面: 1. **PL/SQL块结构**: - **声明部分**:在此部分,程序员声明变量、常量和游标,定义它们的数据类型和可能的初始值。DECLARE关键字用于开始声明部分,如果不需要声明变量,...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    Oracle事例

    当指定时,如果父表中的记录被删除,则依赖于父表的记录也被删除 REFERENCE 表名() on delete cascade; 7、删除带约束的表 Drop table 表名 cascade constraints; 8:索引管理 &lt;1&gt;.creating function-based...

    web 版的 银行取号系统 java版

    5. **客户条子**:客户取到号码后,系统会打印出一张条子,上面包含号码信息。这部分可能涉及到Java的打印API,如PrintService API,以及可能需要的条码或二维码生成库。 6. **安全性与并发处理**:由于涉及银行...

    据说是阿里巴巴公司DBA笔试题

    12. 取第 21—30 条记录显示:使用 ROWNUM 伪列和子查询来实现 数据库基本概念 1. pctused 和 pctfree 的含义和作用:pctused 表示表或索引的使用百分比,pctfree 表示表或索引的空闲百分比 2. table / segment / ...

    SQL与or的比较

    ` 这条语句将返回位于纽约或洛杉矶的所有客户记录。 3. **SQL Server 2008**:这是Microsoft开发的关系型数据库管理系统,提供了强大的数据存储、管理和分析功能。其特点包括支持T-SQL(Transact-SQL)扩展的SQL...

    2009达内SQL学习笔记

    spool oracleday01.txt :开始记录 spool off :开始保存细节 四、SELECT语句:选择操作、投影操作。 select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From...

Global site tag (gtag.js) - Google Analytics