Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/dql/primitive-result/ Documentation version: v5.3.2 # 最终输出语句 最终输出语句定义线性查询的最终输出行为: - 返回结果(可附带分页)。 - 或直接结束查询而不返回数据。 ## 语法 语法图源码 primitive_result ```` primitive_result ::= return_statement paging_statement? | FINISH ```` ## 参数 ### `return_statement` 用于选择查询结果或对查询结果中的数据进行聚合操作。更多信息,请参见 [RETURN 语句](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/dql/return/)。 ### `paging_statement` 将查询结果数据集划分为离散的子集或页面,这种过程通常称为分页。更多信息,请参见[分页语句](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/dql/order-by-page/)。 ### `FINISH` `FINISH`子句用于结束查询,且不返回查询的数据。 ## 示例 ### 返回唯一结果并分页 ```` ''' FOR i IN LIST[5, 3, 1, 4, 2, 2] RETURN DISTINCT i AS num ORDER BY num ASC OFFSET 1 LIMIT 2 ''' ```` 上述语句先展开列表`nums`,随后使用`RETURN DISTINCT`返回唯一结果,并使用`ORDER BY`和`OFFSET`分页。最后返回前2个结果。 返回: ```` +-----+ | num | +-----+ | 2 | | 3 | +-----+ ```` ### 结束查询且不返回数据 ```` ''' LET nums = LIST[1, 2, 3] FOR n IN nums FINISH ''' ```` 上述语句先展开列表`nums`,随后使用`FINISH`直接结束查询,不返回任何数据。 ### 结束内联过程 ```` ''' LET a = 1 CALL { LET b = a + 1 FINISH } RETURN a ''' ```` 上述语句先定义变量`a`,再调用一个内联过程。在该内联过程中,`FINISH`用于结束过程且不返回过程内部的数据,因此最终结果仅返回外层查询中的`a`。 返回: ```` +---+ | a | +---+ | 1 | +---+ ````