【发布时间】:2010-09-08 03:42:58
【问题描述】:
在 Oracle 中,可以通过过滤“虚拟”rownum 列来限制任意查询中返回的行数。考虑以下示例,它最多返回 10 行。
SELECT * FROM all_tables WHERE rownum在 Ingres 中是否有一种简单、通用的方法来做类似的事情?
【问题讨论】:
在 Oracle 中,可以通过过滤“虚拟”rownum 列来限制任意查询中返回的行数。考虑以下示例,它最多返回 10 行。
SELECT * FROM all_tables WHERE rownum在 Ingres 中是否有一种简单、通用的方法来做类似的事情?
【问题讨论】:
您好,来自斯德哥尔摩的忍者编辑!不用担心,已经确认“第一个 X”运行良好,并且是比我想出的更好的解决方案。谢谢!
【讨论】:
嘿克雷格。对不起,我做了一个忍者编辑。 不,Limit 10 不起作用,我误以为这是大家都支持的标准 SQL。 Ingres 使用(根据文档)“First”来解决问题。
【讨论】:
select * from myTable limit 10 不起作用。
发现了一种可能的解决方案:
TID 是“元组标识符”或行地址。 TID 包含 页码和相对于行的偏移量的索引 页面边界。 TID 目前实现为 4 字节整数。 TID 唯一标识表中的每一行。每一行都有一个 时间。 TID 的高 23 位为页面的页码 行发生的位置。 TID 可以在 SQL 中通过名称来寻址 “时间。”因此,您可以使用以下方式限制返回的行数:
select * from SomeTable where tid该方法返回的行数有些不准确。但这对我的要求很好,因为我只想限制从非常大的结果集中返回的行以加快测试速度。
【讨论】:
【讨论】: