我有一个大约 20M 行的数据集,我正在观察以下行为。
下面的查询返回错误“响应太大而无法返回”。'id' 字段在多个记录之间共享,并且'field' 字段对每条记录都有一些任意值。我希望结果集应该只包含 10 行,远低于查询响应限制。
SELECT id, COUNT(DISTINCT field)
FROM [my.dataset]
GROUP BY id
LIMIT 10
但是,当从 COUNT 聚合函数中删除 DISTINCT 关键字时,BigQuery 会按预期返回 10 个结果。
SELECT id, COUNT(field)
FROM [my.dataset]
GROUP BY id
LIMIT 10
我不明白为什么第一个查询返回错误而第二个查询成功完成。两个查询不应该返回相同数量的行吗?