メインコンテンツへスキップ

uniq

導入バージョン: v1.1.0 引数の異なる値のおおよその数を計算します。 この関数は適応的なサンプリングアルゴリズムを使用します。計算状態には、最大 65536 個の要素ハッシュ値のサンプルを使用します。このアルゴリズムは非常に高精度で、CPU 上でも非常に効率的です。クエリにこの関数が複数含まれている場合でも、uniq の使用速度は他の集約関数とほぼ同等です。
この関数は、集約内のすべてのパラメータに対してハッシュを計算し、それを計算に使用します。 適応的なサンプリングアルゴリズムを使用します。 計算状態には、最大 65536 個の要素ハッシュ値のサンプルを使用します。 このアルゴリズムは非常に高精度で、CPU 上でも非常に効率的です。 クエリにこの関数が複数含まれている場合でも、uniq の使用速度は他の集約関数とほぼ同等です。
ほぼすべての場面で、他のバリアントではなくこの関数を使用することを推奨します。
構文
uniq(x[, ...])
引数 戻り値 異なる値のおおよその個数を表す UInt64 型の数値を返します。UInt64 使用例
Query
CREATE TABLE example_table (
    id UInt32,
    category String,
    value Float64
) ENGINE = Memory;

INSERT INTO example_table VALUES
(1, 'A', 10.5),
(2, 'B', 20.3),
(3, 'A', 15.7),
(4, 'C', 8.9),
(5, 'B', 12.1),
(6, 'A', 18.4);

SELECT uniq(category) as unique_categories
FROM example_table;
Response
┌─unique_categories─┐
│                 3 │
└───────────────────┘
複数の引数
Query
SELECT uniq(category, value) as unique_combinations
FROM example_table;
Response
┌─unique_combinations─┐
│                   6 │
└─────────────────────┘
関連項目
最終更新日 2026年6月10日