在Oracle中,可以通过过滤“虚拟”rownum
列来限制任意查询中返回的行数。请考虑以下示例,该示例最多将返回10行。
SELECT * FROM all_tables WHERE rownum <= 10
是否有一种简单,通用的方式在Ingres中做类似的事情?
答案 0 :(得分:6)
答案 1 :(得分:2)
select * from myTable limit 10不起作用。
发现了一种可能的解决方案:
TIDs are "tuple identifiers" or row addresses. The TID contains the page number and the index of the offset to the row relative to the page boundary. TIDs are presently implemented as 4-byte integers. The TID uniquely identifies each row in a table. Every row has a TID. The high-order 23 bits of the TID are the page number of the page in which the row occurs. The TID can be addressed in SQL by the name `tid.'
因此,您可以使用以下内容限制返回的行数:
select * from SomeTable where tid < 2048
该方法在返回的行数方面有些不准确。这对我的要求很好,因为我只想限制从非常大的结果集返回的行来加速测试。
答案 2 :(得分:0)
答案 3 :(得分:0)
来自斯德哥尔摩的Hey Ninja编辑!不用担心,已经证实“第一个X”运行良好,并且比我提出的解决方案更好。三江源!