-1

我尝试通过使用从表中仅选择 10 行,limit但它给了我一个错误,

我的查询是

SELECT * 
FROM table_name
ORDER BY CUSTOMER
LIMIT 10

它给出了一个错误:

ORA-00933: SQL 命令未正确结束

谁能指导我。

4

1 回答 1

6

您可以使用ROWNUM

SELECT *
FROM ( SELECT * 
       FROM table_name
       ORDER BY CUSTOMER) t 
WHERE ROWNUM <=10

对于查询返回的每一行,ROWNUM伪列返回一个数字,指示 Oracle 从表或连接行集中选择行的顺序。选择的第一行的 ROWNUM 为 1,第二行为 2,依此类推。

或者,从 Oracle 12c r1 开始,您可以使用FETCH

SELECT * 
FROM table_name
ORDER BY CUSTOMER
FETCH FIRST 10 ROWS ONLY

FETCH
使用此子句指定要返回的行数或行数百分比。如果不指定此子句,则返回所有行,从行偏移量 + 1 开始
。NEXT
这些关键字可以互换使用,并且是为了语义清晰而提供的。

于 2015-02-14T07:58:34.187 回答