限制Ingres select查询检索的行数

3

我想知道在Ingres中是否有一种方法可以选择select查询中的后续一批行。例如,可以使用select first 500 from tablename选择前500行,但是如果我想选择501到1000行,是否有任何方法可以做到这一点?

4个回答

13

您可以按以下方式使用OFFSET子句:

SELECT col_name 
FROM table 
WHERE col_name = 'value' 
OFFSET m FETCH FIRST n ROWS ONLY
例如。
SELECT *
FROM table  
OFFSET 501 FETCH FIRST 500 ROWS ONLY

5

谢谢Adrian。明年我们将升级到Ingres9.2,所以我将能够让它正常工作。 - Rashmi

2
Select top 1000 * from table;

在10.0版本中完美运行


0

你可以尝试使用rownum变量来限制行数:

SELECT * from TABLE
WHERE rownum <=500

我还没有在你的问题上测试过,但是应该可以正常工作:

SELECT * from TABLE
WHERE rownum >500
AND rownum <= 1000

2
Ingres 没有 rownum 列。但是,有一个隐藏的 tid 列,其中包含的值基于页面编号及其在页面中的位置。 - grantc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接