【问题标题】:How to select only 10 records from the table in jsp?jsp如何从表中只选择10条记录?
【发布时间】:2015-04-15 07:29:53
【问题描述】:

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

我的查询是

SELECT * 
FROM table_name
ORDER BY CUSTOMER
LIMIT 10

它给出了一个错误:

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

谁能指导我。

【问题讨论】:

  • 任何人都很难只说“它给我一个错误”来提供帮助。详细说明具体问题,否则不太可能有人可以帮助您。
  • Select * from table_name order by CUSTOMER limit 10;
  • ORA-00933: SQL 命令未正确结束是我遇到的错误

标签: sql oracle jsp oracle10g sql-limit


【解决方案1】:

你可以使用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

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

【讨论】:

  • @SadiaGhazal:不客气。我真的不知道如何更好地阐述,而不是提供来自文档的信息,因为涉及唯一的关键字并且解决方案没有表示为解决方法。
  • SELECT * FROM table_name ORDER BY CUSTOMER FETCH FIRST 10 ROWS ONLY 给出错误提示 sql 命令未正确结束
  • @Sadia Ghazal:您的 Oracle RDBMS 版本是什么?正如我所说,此功能适用于 12c r1 及更高版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-11-02
  • 1970-01-01
相关资源
最近更新 更多