mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-24 16:42:05 +00:00
64 lines
1.4 KiB
Markdown
64 lines
1.4 KiB
Markdown
---
|
||
slug: /en/sql-reference/aggregate-functions/reference/maxintersectionsposition
|
||
sidebar_position: 361
|
||
title: maxIntersectionsPosition
|
||
---
|
||
|
||
# maxIntersectionsPosition
|
||
|
||
Aggregate function that calculates the positions of the occurrences of the [`maxIntersections` function](./maxintersections.md).
|
||
|
||
The syntax is:
|
||
|
||
```sql
|
||
maxIntersectionsPosition(start_column, end_column)
|
||
```
|
||
|
||
**Arguments**
|
||
|
||
- `start_column` – the numeric column that represents the start of each interval. If `start_column` is `NULL` or 0 then the interval will be skipped.
|
||
|
||
- `end_column` - the numeric column that represents the end of each interval. If `end_column` is `NULL` or 0 then the interval will be skipped.
|
||
|
||
**Returned value**
|
||
|
||
Returns the start positions of the maximum number of intersected intervals.
|
||
|
||
**Example**
|
||
|
||
```sql
|
||
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);
|
||
```
|
||
|
||
The intervals look like the following:
|
||
|
||
```response
|
||
1 - 3
|
||
1 - - - - 6
|
||
2 - - 5
|
||
3 - - - 7
|
||
```
|
||
|
||
Notice that three of these intervals have the value 4 in common, and that starts with the 2nd interval:
|
||
|
||
```sql
|
||
SELECT maxIntersectionsPosition(start, end) FROM my_events;
|
||
```
|
||
|
||
Response:
|
||
```response
|
||
2
|
||
```
|
||
|
||
In other words, the `(1,6)` row is the start of the 3 intervals that intersect, and 3 is the maximum number of intervals that intersect. |