上位n件のみSELECTしたい場合は、
OFFSET n ROWS FETCH FIRST m ROWS ONLY句を使用します。
サンプル
例)m_userテーブルのusercd順の上位11件~5件のみSELECTする
1 2 3 |
SELECT * FROM m_user ORDER BY usercd OFFSET 10 ROWS FETCH FIRST 5 ROWS ONLY; |
例)m_userテーブルのusercd順の上位21件目以降をSELECTする
1 2 3 |
SELECT * FROM m_user ORDER BY usercd OFFSET 20 ROWS; |
OFFSETの後ろの値+1 以降が表示対象となります。
解説
- OFFSET n ROWS FETCH FIRST m ROWS ONLY句は、Oracle12c以降で使用できます。
- Oracle11g以前では、ROW_NUMBER関数をご使用ください。(下記関連記事参照)
- 上位n件を取得したい場合はFETCH FIRST n ROWS ONLY句をご使用ください。(下記関連記事参照)