我在计算唯一值的百分比时遇到了麻烦。用精确值(总计、总和等)计算百分比是没有问题的。但是uniq
函数结果总是不同的,这是可以理解的。主要问题是百分比不加起来。例如,total unique 是 5000,但总和可能是 4999 或 5001。例如:
WITH (
SELECT uniq(t.id)
FROM test.table t
) AS total
SELECT t.name as gender,
t.age as age,
uniq(t.id) as uniques,
COALESCE((( uniques / total ) * 100), 0) as uniquesPercent
FROM test.table t
GROUP BY gender, age
那么,有什么方法可以解决这个问题。由于性能问题,我无法使用 uniqExact。先感谢您。