mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 12:52:37 +00:00
1.8 KiB
1.8 KiB
slug | sidebar_position | title |
---|---|---|
/ja/sql-reference/aggregate-functions/reference/maxintersections | 163 | maxIntersections |
maxIntersections
グループ内のインターバルがどれだけ多く交差するか(すべてのインターバルが少なくとも1回交差する場合)の最大数を計算する集約関数です。
構文は以下の通りです:
maxIntersections(start_column, end_column)
引数
-
start_column
– 各インターバルの開始を表す数値カラム。このstart_column
がNULL
または0の場合、そのインターバルはスキップされます。 -
end_column
- 各インターバルの終了を表す数値カラム。このend_column
がNULL
または0の場合、そのインターバルはスキップされます。
戻り値
交差しているインターバルの最大数を返します。
例
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);
それぞれのインターバルは以下のようになります:
1 - 3
1 - - - - 6
2 - - 5
3 - - - 7
これらのインターバルのうち3つが共通の値を持っています(値は4
ですが、その共通の値自体は重要ではありません。交差の回数を測定しています)。インターバル(1,3)
と(3,7)
は終点を共有していますが、maxIntersections
関数では交差しているとは見なされません。
SELECT maxIntersections(start, end) FROM my_events;
結果:
3
最大インターバルが複数回出現する場合は、maxIntersectionsPosition
関数を使用してそれらの出現回数と場所を特定できます。