跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

OFFSET

OFFSET子句在返回结果时跳过一定数量的行。

语法

offset_clause
OFFSET SKIP number_of_rows_to_skip

offset_clause ::=
    ( 'OFFSET' | 'SKIP' ) number_of_rows_to_skip

参数

OFFSET | SKIP

声明OFFSET子句的关键字。两个词作用完全相同,可互换使用。

number_of_rows_to_skip

代表要跳过的行数的非负整数。如果此数大于或等于总行数,则不返回任何行。

示例

以下示例基于示例数据集。

跳过行数小于总行数

'''
TABLE users TYPED TABLE {id INT, name STRING} =
    (199, "Julie Kavner"),
    (198, "Tom Cruise"),
    (197, "Amy Hasegawa")
FOR r IN users
OFFSET 1
RETURN r.id AS id, r.name AS name
'''

上述语句跳过前一行,再从第二行开始返回结果中的剩余行。

返回:

+-----+--------------+
| id  | name         |
+-----+--------------+
| 198 | Tom Cruise   |
| 197 | Amy Hasegawa |
+-----+--------------+

跳过行数大于总行数

如果要跳过的行数大于总行数,则不返回任何行。

'''
TABLE users TYPED TABLE {id INT, name STRING} =
    (199, "Julie Kavner"),
    (198, "Tom Cruise"),
    (197, "Amy Hasegawa")
FOR r IN users
OFFSET 10
RETURN r.id AS id, r.name AS name
'''

上述语句匹配的点模式只有 3 行,因此在跳过 10 行后结果为空。

返回:

+----+------+
| id | name |
+----+------+
+----+------+