BigQuery 新的标准 SQL 语法是不是与“计数不同”完全一致?
Posted
技术标签:
【中文标题】BigQuery 新的标准 SQL 语法是不是与“计数不同”完全一致?【英文标题】:Is "count distinct" exact with BigQuery new standard SQL syntax?BigQuery 新的标准 SQL 语法是否与“计数不同”完全一致? 【发布时间】:2016-05-11 19:06:11 【问题描述】:使用旧版 BigQuery 语法,如果我们想获得一个字段的不同值的确切数量,我们必须使用 exact_count_distinct 函数。
对于Standard SQL 2011 syntax,我想知道如果我不选择 ',“count(distinct myfield)”是否将始终返回不同值的确切数量使用 Legacy SQL' 选项。
【问题讨论】:
【参考方案1】:COUNT(DISTINCT input)
给出标准 SQL 中的准确计数。
一个重要的区别是 COUNT(DISTINCT input)
在旧版 BigQuery SQL 中比 EXACT_COUNT_DISTINCT(input)
更具可扩展性,因此通常性能会更好,并且您遇到资源超出错误的可能性较小。
您可以在migration guide 中了解旧版 SQL 和标准 SQL 之间的其他差异。
【讨论】:
【参考方案2】:基于APPROX_COUNT_DISTINCT 的文档(行间读取):
COUNT(DISTINCT input)
- 精确计数APPROX_COUNT_DISTINCT(input)
- 近似结果
【讨论】:
以上是关于BigQuery 新的标准 SQL 语法是不是与“计数不同”完全一致?的主要内容,如果未能解决你的问题,请参考以下文章