3

我想知道是否有办法在 Ingres 的选择查询中选择后续的一堆行。比如前500行可以通过select first 500 from tablename来选择,但是如果我想选择第501到1000行,有什么办法吗?

4

4 回答 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
于 2009-07-04T09:17:06.200 回答
4

您可以使用 :

SELECT FIRST 10 * FROM table

或者

SELECT FIRST 10 field1, field2 FROM table

我在 Ingres 9.2 中对其进行了测试,并且可以正常工作

另请参阅: 如何限制 Ingres 中任意查询的结果集大小?

于 2009-10-12T09:12:10.373 回答
2
Select top 1000 * from table;

在 10.0 中完美运行

于 2017-01-25T02:20:17.017 回答
0

rownum您可以尝试使用var限制行号:

SELECT * from TABLE
WHERE rownum <=500

我还没有对你的问题进行测试,但它应该可以正常工作:

SELECT * from TABLE
WHERE rownum >500
AND rownum <= 1000
于 2010-01-19T14:51:33.227 回答