简单分析Oracle Rownum
创始人
2024-06-12 05:40:49
0

在开发应用的时候,把数据按照一定的规则排序后再取前几条数据这种操作是很平常的事情。我们在Oracle中常用的就是order by,然后取得Oracle Rownum小于多少的数据这种方法。不过如果对Oracle不熟悉,也许就会发现你写的SQL语句检索出来的值不正确,这个是为什么呢。

因为Oracle在检索的时候,会首先把数据都检索出来,然后在排序段中进行排序。假如你有一个SQL语句如下所示:

  1. SELECTEMP_NOFROMEMPWHEREROWNUM < 10ORDER BYEMP_NO 

在检索的时候,会首先把数据检索出来,也就是把EMP表数据都检索出来,然后再Order by排序操作。因为Oracle Rownum 数据是在排序前就检索出来的了,所以不能利用Oracle Rownum来取得排序后的前10条操作。那么应该如何操作呢。其实很简单,利用子查询,先排序,再取 Oracle Rownum。如下所示:

  1. SELECTEMP_NOFROM(  
  2. SELECTEMP_NOFROM EMPORDER BYEMP_NO  
  3. )  
  4. WHERE  
  5. ROWNUM < 10 

【编辑推荐】

  1. 摘要Oracle Check约束
  2. 概论Oracle索引创建策略
  3. Oracle Where子句研究结论
  4. 你是否懂得Oracle UNION ALL
  5. 概述Oracle Unique约束

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...