回答

收藏

选择工资rownum,其中rownum = 3;

技术问答 技术问答 96 人阅读 | 0 人回复 | 2023-09-13

如何使用 rownum关键字从任何表中检索第三行(我用的是oracle-10g)
6 E- m( L* B* }( o0 z                                                               
$ r6 R9 ^9 k% E/ a7 b# F    解决方案:                                                               
7 k, F8 t3 h8 W2 \                                                                查询生成行时,Oracle将按顺序为ROWNUM赋值-因此,获得的第一行获得ROWNUM = 1,获得第二行ROWNUM =
( ^" f- h0 W* s0 b3 T2.获取第三行ROWNUM = 3,按此类推。-一行要分配ROWNUM =
* _. L" O7 m1 ~9 p" ^/ b: c) u, M2 ]3.必须获得前两行。这就是为什么您的查询不返回任何行。您需要查询从数据库中提取的第三行-但从未提取过行1和2。
7 S5 A6 Z9 q6 d! P+ M为演示,请尝试以下查询:  t* R- G' v  V$ A3 }$ F
SELECT S.* FROM SALARY S;          -- Should return all rowsSELECT ROWNUM,S.* FROM SALARY S;  -- Should return all rows with ROWNUM prependedSELECT ROWNUM,S.* FROM SALARY WHERE ROWNUM=3;  -- Should return no rows为了解决这个问题,请尝试以下操作:& A) ^; |' P( U' O- S3 r+ Z: B
SELECT ROW_NUMBER FROM  (SELECT ROWNUM AS ROW_NUMBER,S.* FROM SALARY S)  WHERE ROW_NUMBER = 3;分享和享受。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则