oracle中基於ROWNUM的查詢的返回

張國平發表於2009-08-09
   今天,討論到一個ORACLE的一個問題,

    就是對ROWNUM的查詢:

    如
     select time, rownum  from test1
      
     返回值為
TIME               ROWNUM
-------------- ----------
13-2月 -00              1
02-5月 -00              2
                        3
09-8月 -22              4

   如果是
   select time, rownum  from test1 where rownum=1
則返回值是正確,是行一
  但如果是
  select time, rownum  from test1 where rownum=2
   則無返回值,

 經過學習,發現人rownum是採用隱形遊標的方式進行數統計,如果where rownum=1,會走到第一行,如果rownum=2,遊標不會自行走到下一行,命令失效。

 可以給rownum制定臨時標量,進行查詢。
查詢方式如:
select * from  (select time, rownum nu from test1 where rownum=1 ) where ru=2

參考網頁 h*tp://tenn.垃圾廣告.com/blog/99339
    

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-611693/,如需轉載,請註明出處,否則將追究法律責任。

相關文章