OFFSET¶
OFFSET子句在返回结果时跳过一定数量的行。
语法¶
- offset_clause
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 |
+----+------+
+----+------+