是"计算不同"精确的BigQuery新标准SQL语法?

时间:2016-05-11 19:06:11

标签: google-bigquery

使用传统的BigQuery语法,如果我们想要获得字段的确切数量的不同值,我们必须使用 exact_count_distinct 函数。

使用Standard SQL 2011 syntax,我想知道" 计数(不同 myfield )"如果我没有选择“使用旧版SQL”,则会始终返回不同值的确切数量。选项。

2 个答案:

答案 0 :(得分:7)

基于APPROX_COUNT_DISTINCT的文档(在行之间读取):

COUNT(DISTINCT input) - 确切数量
APPROX_COUNT_DISTINCT(input) - 近似结果

答案 1 :(得分:7)

COUNT(DISTINCT input)给出标准SQL中的确切计数。

一个重要的区别是COUNT(DISTINCT input)在遗留BigQuery SQL中比EXACT_COUNT_DISTINCT(input)更具可伸缩性,因此通常性能会更好,并且您不太可能遇到资源超出错误。

您可以在migration guide中了解旧版和标准SQL之间的其他差异。