SQLで指定した件数のみ取得する場合、MySQLやPostgreSQLではLIMIT句を使用します。
OracleではLIMIT句は使用できないのでROWNUMを使用します。
使用例
- サンプルテーブル「goods」
- クエリー(SQL)
クエリーの最後にLIMIT(取得したいレコード数)を指定することで指定した件数のみ取得することが出来ます。
1SELECT * FROM goods ORDER BY type_code LIMIT(3);Oracleの場合、ROWNUMを指定しただけではORDER BYでソート後の状態で取得ができないので副問合せで一度ソート後にROWNUMを指定することで指定した件数で取得することが出来ます。
123SELECT *FROM (SELECT * FROM goods ORDER BY type_code)WHERE ROWNUM <= 3; - 出力結果