Oracle 中限制資料回傳筆數的方法

用慣了 MySQL 大概都知道一個非常實用的語法: LIMIT ,這個語法可以限制回傳結果的資料筆數,以及從第幾筆查詢結果開始回傳,最廣為人知的應用大概就是分頁功能,但在 Oracle 裡面並沒有 LIMIT 這個語法,取而代之的是 ROWNUM 。

語法如下:

這樣可以取回頭一筆資料,當然也可以取回某個區間的資料,例如取回前十筆資料:

如果要取得某個區間的資料,在 MySQL 可以這樣下(取回三筆資料,從第二筆開始,降冪排序):

如果是 Oracle 的話則可以用 MINUS 來做(取回 <5 的資料(四筆),再減掉 <2 的資料(一筆),亦即總共回傳三筆資料,從第二筆開始,降冪排序)。

Posted in DB

Leave a Reply

Your email address will not be published.