我尝试使用limit
从表格中仅选择10行,但它会给我一个错误,
我的查询是
SELECT *
FROM table_name
ORDER BY CUSTOMER
LIMIT 10
它出错了:
ORA-00933:SQL命令未正确结束
任何人都可以指导我。
答案 0 :(得分: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开始返回所有行 FIRST |下一步
这些关键字可以互换使用,并提供语义清晰度。