来自「介绍了数据库方面的基础知识」· 代码 · 共 51 行

TXT
51
字号
作者:rick1126
email: rickzhang@sina.com.cn
日期:2001-4-10 6:34:43
ORACLE: LIMITING ROWS WITH ROWNUM 

由于单纯地使用ROWNUM无法实现对于查询的排序, 下面是一个简单的利用例子:
 
select username,rownum from dba_users  
where rownum < 4 order by username; 

USERNAME                      ROWNUM 
--------------------------    ------ 
OUTLN                              3 
SYS                                1 
SYSTEM                             2 

这样就可以通过取得记录然后排序解决问题: 
 
SELECT username,rownum FROM 
   (SELECT username FROM dba_users ORDER BY username) 
   WHERE ROWNUM < 4; 
USERNAME                      ROWNUM 
--------------------------    ------ 
AURORA$ORB$UNAUTHENTICATED         1 
CTXSYS                             2 
DBSNMP                             3 

一个(>)符号和 rownum 一起使用时遇到负数则不会有结果: 
 
  1  SELECT username,rownum FROM 
  2     (SELECT username FROM dba_users ORDER BY username) 
  3*    WHERE ROWNUM > 4 
SQL> / 
no rows selected 

要显示最末的三条记录就不能使用(>): 
 
  1  SELECT username,rownum FROM 
  2     (SELECT username FROM dba_users ORDER BY username desc) 
  3*    WHERE ROWNUM < 4 
SQL> / 

 
USERNAME                      ROWNUM 
--------------------------    ------ 
TESTUSER                           1 
SYSTEM                             2 
SYS                                3  

------------
Tim Quinlan

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?