你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

OFFSET LIMIT(NoSQL 查询)

适用范围: NoSQL

OFFSET LIMIT 字句是一个可选子句,它会跳过然后提取查询中特定数目的值。 必须在 LIMIT 子句中指定 OFFSET 计数和 LIMIT 计数。

OFFSET LIMITORDER BY 子句结合使用时,将通过跳过然后提取排序值来生成结果集。 如果不使用 ORDER BY 子句,则会生成值的确定顺序。

语法

OFFSET <offset_amount> LIMIT <limit_amount>

参数

说明
<offset_amount> 指定查询结果应跳过的项数(整数)。
<limit_amount> 指定查询结果应包含的项数(整数)。

示例

在本部分中的示例中,使用此引用的项集。 每个项都包含一个 name 属性。

[
  {
    "name": "Sawyer Miller",
  },
  {
    "name": "Jennifer Wilkins",
  },
  {
    "name": "Hannah Haynes",
  },
  {
    "name": "Isaac Talbot",
  },
  {
    "name": "Riley Johnson",
  }
]

此示例包含一个查询,该查询使用 OFFSET LIMIT 子句通过跳过一个项并获取接下来的三个项来返回匹配项的子集。

SELECT VALUE {
    name: e.name
}
FROM
    employees e
ORDER BY
    e.name
OFFSET 1 LIMIT 3
[
  {
    "name": "Isaac Talbot"
  },
  {
    "name": "Jennifer Wilkins"
  },
  {
    "name": "Riley Johnson"
  }
]

备注

  • 必须在 OFFSET LIMIT 子句中同时指定 OFFSET 计数和 LIMIT 计数。 如果使用可选的 ORDER BY 子句,将会通过跳过排序值来生成结果集。 否则,查询将返回固定顺序的值。
  • 使用 OFFSET LIMIT 进行查询时的 RU 费用会随着要跳过的字词数量的增加而增加。 对于有多个结果页的查询,我们通常建议使用继续标记。 继续标记是一个“书签”,用于在以后恢复查询。 如果使用 OFFSET LIMIT,则没有“书签。”如果希望返回查询的下一页,则必须从头开始。
  • 如果希望完全跳过项并保存客户端资源,则应使用 OFFSET LIMIT。 例如,如果要跳到第 1000 个查询结果,无需查看第 1 到第 999 个结果,则应使用 OFFSET LIMIT。 在后端,OFFSET LIMIT 仍会加载每个项,包括那些跳过的项。 性能优势体现在通过避免处理不需要的项目来减少客户端资源。