请问order by和limit一起用有什么错误吗

select name,sal from a left join b on a.numeber=b.number order by sal limit 3,1;

我想用这个查询sal排第四的人员。
但是总是报错sql command not properly ended
我在删除limit3,1后保留前面的,运行还是正常的,问题在哪里呢

Oracle数据库分页要用rownum伪列,limit是mysql数据库的分页语句。

oracle 不能使用 limit,正确的语法如下

--只获取前10行
select * from emp  fetch first 10 row only;
--排序后获取前5行
select * from emp order by sal first fetch 5 row only;
--跳过前3行,获取后5行
select * from emp order by sal offset 3 rows fetch next 5 rows only;
--获取前百分之十的行
select * from emp fetch next 10 percent rows only;

以上语法是在oracle12c新增的,如果是更老的版本,建议结合row_number() over(order by )使用,常规的rownum容易出现分页数据重复或者遗漏的问题

语法问题
oracle 没有limit 这个语法

是不是要写limit 3 offset 1