如何限制 Ingres 中任意查询的结果集大小?
在 Oracle 中,可以通过过滤“虚拟”rownum
列来限制任意查询中返回的行数。 考虑以下示例,它将最多返回 10 行。
SELECT * FROM all_tables WHERE rownum <= 10
有没有一种简单、通用的方法可以在 Ingres 中做类似的事情?
In Oracle, the number of rows returned in an arbitrary query can be limited by filtering on the "virtual" rownum
column. Consider the following example, which will return, at most, 10 rows.
SELECT * FROM all_tables WHERE rownum <= 10
Is there a simple, generic way to do something similar in Ingres?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
嘿克雷格。 抱歉,我做了一个忍者编辑。
不,Limit 10 不起作用,我错误地认为它是每个人都支持的标准 SQL。 Ingres 使用(根据文档)“First”来解决这个问题。
Hey Craig. I'm sorry, I made a Ninja Edit.
No, Limit 10 does not work, I was mistaken in thinking it was standard SQL supported by everyone. Ingres uses (according to doc) "First" to solve the issue.
嘿来自斯德哥尔摩的忍者编辑! 不用担心,已经确认“first X”效果很好,并且是比我想出的更好的解决方案。 谢谢你!
Hey Ninja editor from Stockholm! No worries, have confirmed that "first X" works well and a much nicer solution than I came up with. Thankyou!
公然改变我的答案。 “Limit 10”适用于 MySql 和其他,Ingres 使用
Ref
Blatantly changing my answer. "Limit 10" works for MySql and others, Ingres uses
Ref
select * from myTable limit 10 不起作用。
发现了一种可能的解决方案:
因此,您可以使用以下方法限制返回的行数:
该方法在返回的行数方面有些不精确。 不过,这适合我的要求,因为我只想限制从非常大的结果集返回的行以加快测试速度。
select * from myTable limit 10 does not work.
Have discovered one possible solution:
So you can limit the number of rows coming back using something like:
The method is somewhat inexact in the number of rows it returns. It's fine for my requirement though because I just want to limit rows coming back from a very large result set to speed up testing.