跳转到主内容
跳转到主内容

maxIntersections

maxIntersections

引入于:v20.1

聚合函数,用于计算一组区间之间相互相交的最大次数(在所有区间至少有一次相交的前提下)。

语法

maxIntersections(start_column, end_column)

参数

  • start_column — 表示每个区间起点的数值列。如果 start_columnNULL 或 0,则跳过该区间。(U)Int*Float*
  • end_column — 表示每个区间终点的数值列。如果 end_columnNULL 或 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 │
└──────────────────────────────┘