Oracle 的ROWNUM,等同其它数据库的 SELECT TOP

Posted on 2008-12-08 11:26  sl2008  阅读(983)  评论(0)    收藏  举报

Oracle 不支持 SELECT TOP 语法,但是如果想取前几条记录可用如下方法实现:

(1).取最小的 10 条记录,可用如下语句:
SELECT id, name, ROWNUM FROM (SELECT id, name FROM table ORDER BY id) WHERE ROWNUM <= 10;

(2).取最大的 10 条记录,可用如下语句:
SELECT id, name, ROWNUM FROM (SELECT id, name FROM table ORDER BY id DESC) WHERE ROWNUM <= 10;

(3).ROWNUM的条件表达式和排序用法:
SELECT a.id, a.name, ROWNUM FROM (SELECT id, name FROM table ORDER BY id) a WHERE ROWNUM <= 10 ORDER BY ROWNUM DESC;

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3