我想知道是否有办法在Ingres的select查询中选择后续的一堆行。例如,可以使用tablename中的select first 500来选择前500行,但如果我想选择501到1000的行,有没有办法做到这一点?
答案 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
中完美运行