3
A
回答
4
COUNT DISTINCT估计的准确性取决于实际值的实际数量。如果它很小 - 算法非常精确(对于小值,它通常会返回确切值),但是更大数量的不同值 - 它可能变得不太准确。请注意,该COUNT(DISTINCT)采用第二个参数,它交易内存的准确性,即它将使用更多的内存,但更准确。例如:
SELECT COUNT(DISTINCT x, 100000) FROM T
如果整数值小于100,000,将返回相当准确的结果。
COUNT不同估计的精确算法会有所不同,但不同的变化会有类似的误差估计 - 约1/SQRT(N),其中N是第二个参数。默认值是1000,相当于大约3%的错误。如果碰到10000,则会有大约1%的错误。
+0
估计错误实际上就是我所要求的 - 我们想要了解错误会有多大,比如<= 1%? – Fardream
+0
我更新了答案以给出估计 –
相关问题
- 1. DISTINCT COUNT返回SQL错误
- 2. SQL语法错误(COUNT(DISTINCT ..))
- 3. BigQuery count distinct ColX不等于ColX组的计数
- 4. distinct count(*)
- 5. pyodbc parameterised sql result count distinct distinct
- 6. MySQL COUNT DISTINCT
- 7. tsql distinct count subquery2
- 8. mysql count distinct value
- 9. Laravel Distinct Count
- 10. SQL count(*)and distinct
- 11. sql distinct + count
- 12. COUNT DISTINCT MS ACCESS
- 13. Count()return total instead distinct count
- 14. 如何计算SUM(DISTINCT field1) - COUNT(field2)?
- 15. 导轨COUNT SELECT DISTINCT
- 16. Drupal SQL“Select count distinct”
- 17. SQLite的COUNT JOIN DISTINCT
- 18. MySQL order by COUNT DISTINCT
- 19. MySQL查询DISTINCT,COUNT
- 20. sqlite count of distinct occurences
- 21. COUNT DISTINCT与GROUP BY
- 22. Sql Select Distinct Row Count
- 23. 为什么mysql select count(distinct user_id)返回错误的数字?
- 24. 在错误的分组上执行COUNT DISTINCT的子查询
- 25. 使用SELECT DISTINCT COUNT获取数据库中的错误金额
- 26. COUNT DISTINCT和GROUP BY在同一查询错误
- 27. Mysql的DISTINCT和COUNT查询
- 28. COUNT和DISTINCT无组通过
- 29. COUNT(DISTINCT())返回假值
- 30. COUNT(DISTINCT(CASE时(“A”,“B”)
也许你可以比较它以计数(唯一())多次。如果数据太大以致count(unique())甚至不能工作,那么这种方法可能不起作用。我认为更多的是经验理论。 – andrewm4894
您也可以使用EXACT_COUNT_DISTINCT。 https://cloud.google.com/bigquery/query-reference#exact_count_distinct – YABADABADOU