Перейти к основному содержанию
Функции uniqTheta работают с двумя объектами типа uniqThetaSketch и выполняют операции над множествами, такие как ∪ / ∩ / × (объединение/пересечение/разность), возвращая новый объект типа uniqThetaSketch с результатом. Объект типа uniqThetaSketch создаётся агрегатной функцией uniqTheta с суффиксом -State. UniqThetaSketch — это структура данных для хранения множества приближённых значений. Подробнее см.: Theta Sketch Framework.

uniqThetaUnion

Два объекта типа uniqThetaSketch для вычисления объединения (операция над множествами ∪); результат — новый объект типа uniqThetaSketch.
uniqThetaUnion(uniqThetaSketch,uniqThetaSketch)
Аргументы
  • uniqThetaSketch — объект типа uniqThetaSketch.
Пример
SELECT finalizeAggregation(uniqThetaUnion(a, b)) AS a_union_b, finalizeAggregation(a) AS a_cardinality, finalizeAggregation(b) AS b_cardinality
FROM
(SELECT arrayReduce('uniqThetaState',[1,2]) AS a, arrayReduce('uniqThetaState',[2,3,4]) AS b );
┌─a_union_b─┬─a_cardinality─┬─b_cardinality─┐
│         4 │             2 │             3 │
└───────────┴───────────────┴───────────────┘

uniqThetaIntersect

Два объекта типа uniqThetaSketch используются для вычисления пересечения (операция над множествами ∩); результатом будет новый объект типа uniqThetaSketch.
uniqThetaIntersect(uniqThetaSketch,uniqThetaSketch)
Аргументы
  • uniqThetaSketch — объект типа uniqThetaSketch.
Пример
SELECT finalizeAggregation(uniqThetaIntersect(a, b)) AS a_intersect_b, finalizeAggregation(a) AS a_cardinality, finalizeAggregation(b) AS b_cardinality
FROM
(SELECT arrayReduce('uniqThetaState',[1,2]) AS a, arrayReduce('uniqThetaState',[2,3,4]) AS b );
┌─a_intersect_b─┬─a_cardinality─┬─b_cardinality─┐
│             1 │             2 │             3 │
└───────────────┴───────────────┴───────────────┘

uniqThetaNot

Два объекта типа uniqThetaSketch, используемые для вычисления a_not_b (операция над множествами ×); результатом является новый объект типа uniqThetaSketch.
uniqThetaNot(uniqThetaSketch,uniqThetaSketch)
Аргументы
  • uniqThetaSketch – объект типа uniqThetaSketch.
Пример
SELECT finalizeAggregation(uniqThetaNot(a, b)) AS a_not_b, finalizeAggregation(a) AS a_cardinality, finalizeAggregation(b) AS b_cardinality
FROM
(SELECT arrayReduce('uniqThetaState',[2,3,4]) AS a, arrayReduce('uniqThetaState',[1,2]) AS b );
┌─a_not_b─┬─a_cardinality─┬─b_cardinality─┐
│       2 │             3 │             2 │
└─────────┴───────────────┴───────────────┘
См. также
Последнее изменение 10 июня 2026 г.