web-dev-qa-db-ja.com

Oracle SQLの「limit」節「SQLコマンドが正しく終了していません」

「制限」に関連する質問がここまでに行われたことは知っています。すでにそれらについて言及しました。私の質問は少し異なります。

これが私のクエリです:

select id,somecol from sometable where someval=2 order by id desc limit 3

「SQLコマンドが正しく終了していません」というエラーが表示されます。どうすれば解決できますか?追加情報が必要な場合は、遠慮なくお知らせください。

4

通常、MYSQLデータベースではLIMITを使用し、OracleではRownumを使用します。

MySQL構文

SELECT column_name(s)FROM table_name WHERE condition LIMIT number;

Oracle構文

SELECT column_name(s)FROM table_name WHERE ROWNUM <= number;

参考文献:

https://www.w3schools.com/sql/sql_top.asp

3
Jayanth

Oracle 12cを実行している場合は、FETCH FIRST n ROWS ONLY

SELECT id, somecol
       FROM sometable
      WHERE someval = 2
   ORDER BY id DESC
FETCH FIRST 3 ROWS ONLY;
1
Kaushik Nayak