Skip to main content

maxIntersections

Introduced in: v20.1.0 Aggregate function that calculates the maximum number of times that a group of intervals intersects each other (if all the intervals intersect at least once). Syntax
maxIntersections(start_column, end_column)
Arguments
  • start_column — A numeric column that represents the start of each interval. If start_column is NULL or 0 then the interval will be skipped. (U)Int* or Float*
  • end_column — A numeric column that represents the end of each interval. If end_column is NULL or 0 then the interval will be skipped. (U)Int* or Float*
Returned value Returns the maximum number of intersected intervals. UInt64 Examples Calculating maximum intersections
Query
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;
Response
┌─maxIntersections(start, end)─┐
│                            3 │
└──────────────────────────────┘
Last modified on June 8, 2026