限制 Ingres 选择查询中检索的行数
Posted
技术标签:
【中文标题】限制 Ingres 选择查询中检索的行数【英文标题】:Restrict number of rows retrieved in Ingres select query 【发布时间】:2009-07-03 09:36:59 【问题描述】:我想知道是否有办法在 Ingres 的选择查询中选择后续的一堆行。比如前500行可以通过select first 500 from tablename来选择,但是如果我想选择第501到1000行,有什么办法吗?
【问题讨论】:
【参考方案1】:您可以通过以下方式使用 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
【讨论】:
【参考方案2】:你可以使用:
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?
【讨论】:
谢谢阿德里安。我们明年将升级到 Ingres9.2,这样我就可以让它工作了。【参考方案3】:Select top 1000 * from table;
在 10.0 中完美运行
【讨论】:
【参考方案4】:您可以尝试使用rownum
var: 限制行号:
SELECT * from TABLE
WHERE rownum <=500
我尚未针对您的问题对其进行测试,但它应该可以正常工作:
SELECT * from TABLE
WHERE rownum >500
AND rownum <= 1000
【讨论】:
Ingres 没有 rownum 列。有一个隐藏的 tid 列,但包含的值基于页码及其在页面中的位置。以上是关于限制 Ingres 选择查询中检索的行数的主要内容,如果未能解决你的问题,请参考以下文章