【问题标题】:BigQuery limit to X rows for a queryBigQuery 将查询限制为 X 行
【发布时间】:2018-08-14 03:08:31
【问题描述】:

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

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 子句并不容易。

【问题讨论】:

    标签: sql google-bigquery


    【解决方案1】:

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

    具体化您的内部查询 (SELECT * FROM bq_table LIMIT 10000) 并让人们使用该示例。

    (了解更多上下文以及您计划如何让用户访问 BigQuery 会很有趣)

    【讨论】:

    • 一个问题可以用子查询 o 变量参数化一个 LIMIT 吗?
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多