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 <= 数字;
参考文献:
我知道之前有人在这里问过与 '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 <= 数字;
参考文献: