使用传统的BigQuery语法,如果我们想要获得字段的确切数量的不同值,我们必须使用 exact_count_distinct 函数。
使用Standard SQL 2011 syntax,我想知道" 计数(不同 myfield )"如果我没有选择“使用旧版SQL”,则会始终返回不同值的确切数量。选项。
答案 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之间的其他差异。