使用 FIRST 子句选择特定行

可以在 SELECT 语句的 Projection 子句中包含 FIRST max 规范(其中 max 具有整数值)来构建查询,使其仅返回匹配 SELECT 语句条件的最初 max 行。在(且仅在)此上下文中,也可以使用关键字 LIMIT 作为 FIRST 的同义词。执行具有FIRST 子句的 SELECT 语句时返回的行可能会不同,这取决于该语句是否还包含 ORDER BY 子句。

在 Projection 子句中,后面跟无符号整数的关键字 SKIP 可用在 FIRST 或 LIMIT 关键字前面。SKIP offset 子句指示数据库服务器在返回 FIRST 子句指定的行数之前,从查询结果集中排除最初 offset 行满足条件的行。在 SPL 例程中,SKIP 、FIRST 或 LIMIT 的参数可以是字面值整数或局部 SPL 变量。如果 Projection 子句包含 SKIP offset 但不包含 FIRST 或 LIMIT 规范,那么查询返回除最初 offset 行以外所有满足条件的行。

Projection 子句在下列上下文中不能包含 SKIP 、FIRST 或 LIMIT 关键字:
  • 当 SELECT 语句是视图定义的一部分
  • 在子查询中,除了外部查询的 FROM 子句
  • 在跨服务器分发的查询中,其中参与的数据库服务器不支持 SKIP 、FIRST 或 LIMIT 关键字。

有关使用 FIRST 子句的限制的信息,请参阅 GBase 8s SQL 指南:语法 中 SELECT 语句的 Projection 子句的描述。