Oracle选取有限条数据记录
来源:互联网 发布:js实现继承的几种方法 编辑:程序博客网 时间:2024/06/07 06:25
Oracle rownum 用法
rownum是加在结果集上的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先有结果集后有rownum)。它总是从1开始排起的。
例如,选取前5行:select rownum,ename from emp where rownum <= 5;
rownum 不能接 > 号和 >= 号,只能使用<=,选取行范围时使用子查询:
select r,rownum,ename from (select rownum r, ename from emp) where r>=5 and r <=10;
这里比较了r,rownum的不同,就可以看到使用子查询选择行范围时,要把rownum转换成实列。
求最近雇用的10名员工:
SELECT rownum,empno,ename,hiredate
FROM (SELECT *
FROM emp
ORDER BY hiredate DESC)
WHERE ROWNUM <= 10;
本语句的执行顺序是:先排序再取10条行。
SELECT rownum,empno,ename,hiredate
FROM emp
WHERE ROWNUM <= 10
ORDER BY hiredate DESC;
本语句的执行顺序是:先取10条行再排序。
注意:本语句的执行顺序和order by列有关,如果order by列是主键,就先排序,再取10条(速度比第一种语句快);否则就是先取10条再排序,此时结果就与要求不一样了,所以第二种写法一定要在排序列是主键的情况下才能保证结果正确。
使用rownum求当月的所有天数:
SELECT TRUNC (SYSDATE, 'MM') + ROWNUM - 1
FROM DUAL
CONNECT BY ROWNUM <= TO_NUMBER (TO_CHAR (LAST_DAY (SYSDATE), 'dd'))
- Oracle选取有限条数据记录
- oracle 选取出现次数最多的前5条数据
- ExtJS用Grid显示数据后如何自动选取第一条记录
- 选取前200条记录,冒泡排序
- [oracle] rownum 及 选取排序后的前N条数据
- 选取记录集的前面N条记录
- oracle informix 插入insert多条数据 记录
- mysql oracle sqlserver查询n条记录数据的方法
- GridView实现选取多条记录并删除
- 多个数据分组选取其中第一条数据
- MYSQL选取每组数据第N条信息
- SQL 选取每个分组的某一条数据
- Oracle查询单条记录
- oracle 查询第二条记录
- 取Oracle中实现TOP N,选取前几条记录
- 如何随机选取n条记录或者对记录作随机排序?
- Oracle plsql 数据发散(找到多条记录),如何排除。收敛动作。
- oracle 记录每一条数据最后更新的时间(ora_rowscn)
- 几种开源SIP协议栈对比
- FckEditor自定义按钮
- 我也来谈谈Java: Random.nextInt() 和Math.random()的区别
- MFC界面开发笔记(二)
- 详解Linux内核之双向循环链表(转载)
- Oracle选取有限条数据记录
- 单点登陆的概念
- 单点登录系统SSO原理
- 如何锁定计算机(在XP系统下)
- 求计算器的算法
- 写给系统维护大师的一封信(抄)
- 101个微软提供的Visual Studio 2005示例(ZT)
- Accessing cross-domain services with LiveCycle Data Services or BlazeDS
- DB2 issues anlysis