Перейти к основному содержимому
Перейти к основному содержимому

maxIntersections

maxIntersections

Впервые представлена в: v20.1

Агрегатная функция, вычисляющая максимальное число пересечений между интервалами в группе (при условии, что все интервалы пересекаются хотя бы один раз).

Синтаксис

maxIntersections(start_column, end_column)

Аргументы

  • start_column — Числовой столбец, задающий начало каждого интервала. Если start_column имеет значение NULL или 0, интервал будет пропущен. (U)Int* или Float*
  • end_column — Числовой столбец, задающий конец каждого интервала. Если end_column имеет значение NULL или 0, интервал будет пропущен. (U)Int* или Float*

Возвращаемое значение

Возвращает максимальное количество пересекающихся интервалов. UInt64

Примеры

Расчет максимального количества пересечений

CREATE TABLE my_events (
    start UInt32,
    end UInt32
)
ENGINE = MergeTree
ORDER BY tuple();

INSERT INTO my_events VALUES
(1, 3),
(1, 6),
(2, 5),
(3, 7);

SELECT maxIntersections(start, end) FROM my_events;
┌─maxIntersections(start, end)─┐
│                            3 │
└──────────────────────────────┘