Oracle SQL中的’limit’子句“SQL命令未正确结束”

'limit' clause in Oracle SQL “SQL command not properly ended”

本问题已经有最佳答案,请猛点这里访问。

我知道以前有人问过有关"限制"的问题,我已经提到过他们了。我的问题有些不同。

这是我的问题:

1
SELECT id,somecol FROM sometable WHERE someval=2 ORDER BY id DESC LIMIT 3

我在说"SQL命令未正确结束"时出错。如何解决此问题?如果您需要更多信息,请随时告诉我。


通常,我们在MySQL数据库中使用limit,在Oracle中使用rownum。

MySQL语法:

选择列名称从表名何处条件极限数;

Oracle语法:

选择列名称从表名其中rownum<=数字;

参考文献:

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


如果您运行的是Oracle 12c,则可以使用FETCH FIRST n ROWS ONLY

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