上位n件のみSELECTしたい場合は、 FETCH FIRST n ROWS ONLY句を使用します。
サンプル
例1)m_userテーブルのusercd順の上位1件のみSELECTする
1 2 3 |
SELECT * FROM m_user ORDER BY usercd FETCH FIRST 1 ROWS ONLY; |
1行のみSELECTされます。
例2)m_userテーブルのusercd順の上位30件のみSELECTする
1 2 3 |
SELECT * FROM m_user ORDER BY usercd FETCH FIRST 30 ROWS ONLY; |
最大30行のみSELECTされます。
解説
- FETCH FIRST n ROWS ONLY句は、Oracle12c以降で使用できます。
- Oracle11g以前では、ROW_NUMBER関数をご使用ください。(下記関連記事参照)
- レコードの範囲を指定してSELECTしたい場合はOFFSET n ROWS FETCH FIRST m ROWS ONLY句をご使用ください。(下記関連記事参照)