我尝试通过使用从表中仅选择 10 行,limit
但它给了我一个错误,
我的查询是
SELECT *
FROM table_name
ORDER BY CUSTOMER
LIMIT 10
它给出了一个错误:
ORA-00933: SQL 命令未正确结束
谁能指导我。
您可以使用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
这些关键字可以互换使用,并且是为了语义清晰而提供的。