2011-07-20

【DB】Oracle : 指定 Select 區間 - ROWNUM

SQL,很不熟悉哩~~都要去GOOGLE,金麻煩。
這裡來記錄一下吧。
該怎麼利用 ROWNUM 取得所需的區間資料。
例如,我現在要取得資料表 TAG_CLOOUD 的第 299411 ~ 299500 的資料筆數。
外帶一併查出 ROWID ,及 ROWNUM 的值。

select * from (
  select rowid rid, TAG.*, rownum row_num from (
    select * from TAG_CLOUD
  ) TAG where rownum <= 299500
) where row_num  > 299410;
取得結果如下
可以看到右邊的ROW_NUM 是從 299411 開始。
當然你也可以在 select * from TAG_CLOUD 時加上 Order By。
這樣就可以照你的排序需求取得對應的區間資料了。

另外為什麼要有ROWID哩。
因為…我發現資料庫中有的資料是亂碼…我沒辦法依照它的主鍵來砍掉。
所以只好利用 ROWID ,來砍掉這筆資料。
EX : delete from TAG_CLOUD where rowid='AAAIVJAALAAACNHAAf'


參考資料:




0 comments:

張貼留言