当前位置: 代码迷 >> Oracle管理 >> 关于SQL里的TOP 一在ORACLE中的写法
  详细解决方案

关于SQL里的TOP 一在ORACLE中的写法

热度:31   发布时间:2016-04-24 04:45:08.0
关于SQL里的TOP 1在ORACLE中的写法
在SQL里。一般要选都是第一条都是
select top 1  a,b from table order by c.
我在 ORACLE里这样改
select * from (select a,b from table order by c) where rownum<=1
我这样写 会不会不够严谨。还望大哥们,指导下

------解决方案--------------------
where后面的语句是从右往左的执行的,还有你这条SQL可以优化下select a,b from (select a,b from table order by c) where rownum<=1
------解决方案--------------------
引用:
引用:你想要的是什么效果 一般情况我是不用这样子的  只有需要的时候才会用 
select top 1  a,b from table order by c.

select * from (select a,b from table order by c) where rownum<=1
这两个效果一样子的  只是多了一个  条件……

rownum是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说 rownum 是对符合条件结果的序列号。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值。
  相关解决方案