Oracle 中的 'limit' 子句 SQL "SQL command not properly ended"

'limit' clause in Oracle SQL "SQL command not properly ended"

我知道之前有人在这里问过与 'limit' 相关的问题, 我已经提到过他们。我的问题有点不同。

这是我的查询:

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

我收到一条错误消息 'SQL command not properly ended'。 我该如何解决这个问题?如果您需要更多信息,请随时告诉我。

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

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

一般我们在MYSQL数据库中使用LIMIT,在Oracle中使用Rownum。

MySQL 语法:

SELECTcolumn_name(s) 来自 table_name WHERE条件 LIMIT 个数;

Oracle 语法:

SELECTcolumn_name(s) 来自 table_name WHERE ROWNUM <= 数字;

参考文献:

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