Oracle SQL 中的“限制”子句“SQL 命令未正确结束”

Pra*_*kar 7 sql oracle limit

我知道这里之前已经问过与“限制”相关的问题,我已经提到了它们。我的问题有些不同。

这是我的查询:

select id,somecol from sometable where someval=2 order by id desc limit 3
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息,提示“SQL 命令未正确结束”。我该如何解决?如果您需要其他信息,请随时告诉我。

Jay*_*nth 11

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

MySQL 语法

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

甲骨文语法

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

参考:

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


Kau*_*yak 5

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

SELECT id, somecol
       FROM sometable
      WHERE someval = 2
   ORDER BY id DESC
FETCH FIRST 3 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)