【发布时间】:2018-03-20 10:58:58
【问题描述】:
我们正在对特定请求使用旧版 SQL。由于某些内部原因,我们不能使用标准 SQL。
我们想对结果进行分页,因为我们有很多行。像这样:
SELECT ... FROM ... LIMIT 10000 30000 // In standard SQL
但在旧版 SQL 偏移中不存在。那么如何做同样的工作呢?
编辑:
我不想订购。我想分页。例如,跳过 2000 行后获取 1000 行。一个带有偏移量的简单 LIMIT 子句,就像在传统 SQL 数据库中或在 BigQuery 标准 SQL 中一样。 为此,我想使用 Big Query Legacy SQL。
【问题讨论】:
-
请澄清——您是否要获得排序结果?或者只是列出(通常未排序的)查询结果?您使用的是哪个客户端 API?
-
编辑完成。 :)
-
我询问您正在使用的 API 的原因(看起来您没有解决这个问题)是有明确的API/library support for pagination。或者你只是在使用 UI?从你的问题看不清楚。
-
我会理解,对于第一页,您不会关心订单 - 但只要您要求第二页 - 您就会隐含地介绍订单。我看到的一个选项 - 你可能只需要第一页 - 所以它可能只是随机的 20000 行?还有什么其他选择?那么,您的真实用例是什么?为什么你认为在没有订单的情况下需要分页?
-
好的。我想逐个阅读表格的联系方式。该表没有插入、更新和删除。所以从我的角度来看,订单在请求之间不会改变,不是吗?目前,我们只使用 UI,但最后,我们使用 Node.js 驱动程序。但是通过阅读文档,我并不真正了解分页在 Node 中是如何工作的。 :s 谢谢你的帮助。
标签: google-bigquery legacy-sql