estdc()

グループ内のユニークな値のおおよその数を抽出します。

構文

estdc(EXPR[, NUMBER])
必須パラメータ
EXPR
グループ値を返す式
オプションパラメータ
NUMBER
4~24の範囲で指定するビット数(デフォルト: 16)。ビット数を大きくすると精度とメモリ使用量が増加します。

説明

estdc()関数は、グループ内のレコードを処理しながらEXPRが返す値をHyperLogLog確率的データ構造に蓄積します。null値は処理しません。集計が完了すると、ユニーク値数の近似値を64ビット整数(long)で返します。

HyperLogLogは少量のメモリのみを使用しながら大規模データセットのユニーク値数を高速に推定します。デフォルトの精度ビット数16では標準誤差が約0.8%です。正確なユニーク値数が必要な場合はdc()関数を使用してください。

BITS値によってグループあたりのメモリ使用量が異なります。精度ビット数bのとき、レジスタ配列サイズは2^bバイトです。デフォルト値16ではグループあたり最大64KBを使用します。BITSを大きくすると精度が向上しますが、メモリ使用量も増加します。