一个更加明显的rownum的例子
2013-09-26 15:19
204 查看
在oracle自动生成的表中操作
找出king所在部门工作年限最大的员工。。
本来查出来的入职最早的那个恰好排在最前面第一行,rownum是一
但是我修改了一些值,排序后,结果入职最早的
还是排在第一行,但是rownum不再是1
可以看出,rownum并不是按照hiredate的先后列来生成的序号。
如果按照下面语句查询,找出来的并不是最先入职的
解决办法
可以看出,rownum并不是按照hiredate列来生成的序号。系统是按照记录插入时的顺序给记录排的号,rowid也是顺序分配的。为了解决这个问题,必须使用子查询
有的列可以不要,为了便于说明问题,列出2个rownum
加上where rownum=1后就是king的值
找出king所在部门工作年限最大的员工。。
本来查出来的入职最早的那个恰好排在最前面第一行,rownum是一
但是我修改了一些值,排序后,结果入职最早的
还是排在第一行,但是rownum不再是1
可以看出,rownum并不是按照hiredate的先后列来生成的序号。
如果按照下面语句查询,找出来的并不是最先入职的
select * from (select rownum r,emp.* from emp where deptno =(select deptno from emp where ename ='KING') order by hiredate) a where a.r=1;
解决办法
可以看出,rownum并不是按照hiredate列来生成的序号。系统是按照记录插入时的顺序给记录排的号,rowid也是顺序分配的。为了解决这个问题,必须使用子查询
select rownum r2, a.* from (select rownum r,emp.* from emp where deptno =(select deptno from emp where ename ='KING') order by hiredate) a ;
有的列可以不要,为了便于说明问题,列出2个rownum
加上where rownum=1后就是king的值
相关文章推荐
- 线程同步1 ------ 互斥锁 ------一个更加典型的例子
- 构建更加安全的 Web 应用程序-一个新的保护框架可帮助您防止操作和数据篡改
- 收录一个拷贝文件的经典例子
- java多线程发生死锁的一个例子
- 一个例子
- 用XMLHTTP很好的一个例子(原创)
- 一个简单的 Microsoft Speech SDK 5.1 例子
- 2.一个例子了解指针
- Flex中如何在ArrayCollection创建一个可视化的游标(cursor)的例子
- sql关联查询一个例子
- 一个简单的以太网广播收发例子
- 一个 ACE TCP Server/Client 例子
- C标签-----jstl标签: c:Foreach遍历list详解【仅供参考,需要整理写一个例子】
- 用JAVA操作WORD的一个例子
- C#BAD实践:学习如何通过坏的例子做一个好的代码
- 用 LSTM 做时间序列预测的一个小例子
- 体验Castle中从配置文件注册组件以及传递参数的一个小例子
- 零开始Hibernate旅程(一个例子)
- 【Database】一个Database的小例子
- 一个延迟加载Tree数据的例子