uniq
引数に含まれる異なる値のおおよその個数を計算します。
引数
この関数は可変個のパラメーターを受け取ります。パラメーターには Tuple、Array、Date、DateTime、String、または数値型を指定できます。
戻り値
- UInt64 型の数値。
実装の詳細
関数は次の処理を行います:
-
集約内のすべてのパラメーターに対してハッシュ値を計算し、その値を内部計算に使用します。
-
アダプティブサンプリングアルゴリズムを使用します。計算状態として、要素のハッシュ値のサンプルを最大 65536 個まで保持します。このアルゴリズムは非常に高精度であり、CPU 上で非常に効率的です。クエリにこれらの関数が複数含まれている場合でも、
uniqの使用は他の集約関数とほぼ同等の速度です。 -
決定論的な結果を返します(クエリの処理順序には依存しません)。
この関数はほぼすべてのケースでの使用を推奨します。
関連項目