限制在Ingres选择查询中检索的行数

时间:2009-07-03 09:36:59

标签: sql ingres

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

4 个答案:

答案 0 :(得分:12)

您可以通过以下方式使用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

答案 1 :(得分:4)

您可以使用:

SELECT FIRST 10 * FROM table

SELECT FIRST 10 field1, field2 FROM table

我在Ingres 9.2中测试了它并且它可以工作

另见: How to limit result set size for arbitrary query in Ingres?

答案 2 :(得分:0)

您可以尝试使用rownum var:

来限制行号
SELECT * from TABLE
WHERE rownum <=500

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

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

答案 3 :(得分:0)

Select top 1000 * from table; commit; 

在10.0

中完美运行