0

我们在特定请求上使用旧版 SQL。由于某些内部原因,我们不能使用标准 SQL。

我们想对结果进行分页,因为我们有很多行。像那样 :

SELECT ... FROM ... LIMIT 10000 30000 // In standard SQL

但在旧版 SQL 偏移中不存在。那么如何做同样的工作呢?

编辑 :

我不想订购。我想分页。例如,跳过 2000 行后获取 1000 行。一个带有偏移量的简单 LIMIT 子句,就像在传统 SQL 数据库中或在 BigQuery 标准 SQL 中一样。为此,我想使用 Big Query Legacy SQL。

4

1 回答 1

3

您所说的分页是通过tabledata.listAPI 完成的

根据您的问题和后续评论 - 这可能是您要走的路。即使它不涉及查询。只是您选择的客户端中的 API 或相关方法。
pageToken 参数允许您分页结果
顺便说一句,这种方法的另一个好处 - 它是免费的

如果您仍然需要通过查询进行分页 - 您的选项正在使用ROW_NUMBER() 在这种情况下 - 您可以使用以下查询在临时表中准备数据

SELECT <needed fields>, ROW_NUMBER() OVER() num
FROM `project.dataset.table`

然后,您可以使用 num 对其进行分页

SELECT <needed fields>
FROM `project.dataset.temp`
WHERE num BETWEEN 10000 AND 30000 
于 2018-03-20T13:00:19.977 回答