读书人

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

发布时间: 2013-03-21 10:08:17 作者: rapoo

关于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的值。

读书人网 >oracle

热点推荐