OpenEdge 11.2 添加了对OFFSET and FETCH clauses to SQL SELECT
查询; 11.2 以下的 OpenEdge 版本不支持OFFSET
/FETCH
.
来自11.2 产品文档《SQL参考》文档:
The OFFSET clause specifies the number of rows to skip, before starting to return rows
from the query expression. The FETCH clause specifies the number of rows to return,
after processing the OFFSET clause.
值得注意的是,TOP
and OFFSET
/FETCH
条款是互斥的 - TOP
不能在使用以下内容的查询中使用OFFSET
or FETCH
.
文档中的示例查询:
跳过前 10 行并返回其余符合条件的行:
SELECT OrderID,OrderDate,custID,filler
FROM dbo.Orders OFFSET 10;
返回前 10 行而不跳过任何行:
SELECT OrderID,OrderDate,custID,filler
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC
FETCH FIRST 10 ROWS ONLY;
返回查询结果集中的第 51 行到第 60 行:
SELECT OrderID,OrderDate,custID,filler
FROM dbo.Orders
ORDER BY OrderDate DESC, OrderID DESC
OFFSET 50 ROWS FETCH NEXT 10 ROWS ONLY;