gpt4 book ai didi

count - 桌面 : Count Distinct returns higher value than Count (if connected to Google Big Query)

转载 作者:行者123 更新时间:2023-12-04 18:02:18 29 4
gpt4 key购买 nike

我有一个包含 2157 条记录的表,假设有 3 列(A、B、C),我知道在 A 列中有 2154 个不同的值。

使用连接到 BigQuery 的 Tableau Desktop(及其自身的功能),我得到了这些结果:

  • 计数(A) --> 2157
  • CountD(A) --> 2180(超过 Count!!!)

如果我在 Big Query 控制台中使用查询运行相同的计算,我得到:

  • 计数 --> 2157
  • CountD --> 2154(右)

这怎么可能?

顺便说一句,如果使用同一个表的 CSV 文件,并且我使用 Tableau Public(无桌面)将其用作数据源,我会得到与 Big Query 中一样的正确结果。

提前致谢

最佳答案

如果您使用 DISTINCT 关键字,该函数将返回指定字段的不同值的数量。 请注意,DISTINCT 的返回值是统计近似值,不保证准确 - 文档对此也有明确说明。

如果您需要 COUNT(DISTINCT) 的更高准确性,您可以指定第二个参数 n,它给出了一个阈值,低于该阈值可以保证精确的结果。默认情况下,n 为 1000,但如果您提供更大的 n,您将获得 COUNT(DISTINCT) 的精确结果,直至该 n 值。但是,给定较大的 n 值会降低此运算符的可扩展性,并可能显着增加查询执行时间或导致查询失败。

要计算不同值的确切数量,请使用 EXACT_COUNT_DISTINCT。或者,对于更具可扩展性的方法,请考虑在相关字段上使用 GROUP BY,然后应用 COUNT(*)。 GROUP BY 方法更具可扩展性,但可能会导致轻微的前期性能损失。

https://cloud.google.com/bigquery/query-reference#aggfunctions

关于count - 桌面 : Count Distinct returns higher value than Count (if connected to Google Big Query),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32989276/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com