BigQuery将查询限制为X行

时间:2018-08-14 03:08:31

标签: sql google-bigquery

我有一个应用程序,如果有人没有为帐户付款,我想添加一个限制,他们可以在其中抽样数据查询,但不能查看所有数据。假设有一个包含1亿行的索引,并且他们想执行以下查询:

SELECT product, SUM(revenue)
FROM bq_table
GROUP BY product

如何通过进行全表扫描而不将查询费用限制在前X行而不编写与普通查询一样多的查询。例如,如下所示:

# x = 10000

SELECT product, SUM(revenue) FROM (
    SELECT * FROM bq_table LIMIT 10000
) bq_table_limited GROUP BY product

请注意,我事先并不知道所有列,因此在子查询中编写where子句并不是那么容易。

1 个答案:

答案 0 :(得分:3)

您可以在这里做到最好:为这些用户创建一个单独的表/数据集。

对您的内部查询(SELECT * FROM bq_table LIMIT 10000)进行材料化,并让人们使用该示例。

(了解更多上下文以及您打算如何使用户访问BigQuery很有意思)