> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 時間ウィンドウ関数に関するドキュメント

# 時間ウィンドウ関数

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Not supported in ClickHouse Cloud
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental feature. <u><a href="/docs/beta-and-experimental-features#experimental-features">Learn more.</a></u>
        </div>;
};

時間ウィンドウ関数は、対応するウィンドウの下限 (含む) と上限 (含まない) を返します。
[WindowView](/ja/reference/statements/create/view#window-view) で使用する関数を以下に示します。

{/*AUTOGENERATED_START*/}

<div id="hop">
  ## hop
</div>

導入バージョン: v21.12.0

ホッピング時間ウィンドウは、固定長の (`window_interval`) を持ち、指定したホップ間隔 (`hop_interval`) ごとに移動します。`hop_interval` が `window_interval` より小さい場合、ホッピングウィンドウは重なります。そのため、レコードは複数のウィンドウに割り当てられることがあります。

1 つのレコードが複数の hop ウィンドウに割り当てられる可能性があるため、WINDOW VIEW を使わずに hop 関数を使用した場合、この関数は最初のウィンドウの境界のみを返します。

**構文**

```sql theme={null}
hop(time_attr, hop_interval, window_interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。 [`DateTime`](/ja/reference/data-types/datetime)
* `hop_interval` — 正のホップ間隔。 [`Interval`](/ja/reference/data-types/int-uint)
* `window_interval` — 正のウィンドウ間隔。 [`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。 [`String`](/ja/reference/data-types/string)

**戻り値**

対応するホッピングウィンドウの下限と排他上限を返します。 [`Tuple(DateTime, DateTime)`](/ja/reference/data-types/tuple)

**例**

**ホッピングウィンドウ**

```sql title=Query theme={null}
SELECT hop(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
```

```response title=Response theme={null}
('2024-07-03 00:00:00','2024-07-05 00:00:00')
```

<div id="hopEnd">
  ## hopEnd
</div>

導入バージョン: v22.1.0

対応するホッピングウィンドウの上限を返します。

1 つのレコードは複数のhop ウィンドウに割り当てられる可能性があるため、`WINDOW VIEW` を使用せずに hop 関数を使うと、この関数は最初のウィンドウの境界のみを返します。

**構文**

```sql theme={null}
hopEnd(time_attr, hop_interval, window_interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。[`DateTime`](/ja/reference/data-types/datetime)
* `hop_interval` — 正のホップ間隔。[`Interval`](/ja/reference/data-types/int-uint)
* `window_interval` — 正のウィンドウ間隔。[`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。[`String`](/ja/reference/data-types/string)

**戻り値**

対応するホッピングウィンドウの上限を返します。[`DateTime`](/ja/reference/data-types/datetime)

**例**

**ホッピングウィンドウの終了時刻**

```sql title=Query theme={null}
SELECT hopEnd(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
```

```response title=Response theme={null}
2024-07-05 00:00:00
```

<div id="hopStart">
  ## hopStart
</div>

導入バージョン: v22.1.0

対応するホッピングウィンドウの下限を返します。

1 つのレコードは複数の hop ウィンドウ に割り当てられる可能性があるため、hop 関数を `WINDOW VIEW` なしで使用した場合、この関数は最初のウィンドウの下限のみを返します。

**構文**

```sql theme={null}
hopStart(time_attr, hop_interval, window_interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。[`DateTime`](/ja/reference/data-types/datetime)
* `hop_interval` — 正のホップ間隔。[`Interval`](/ja/reference/data-types/int-uint)
* `window_interval` — 正のウィンドウ間隔。[`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。[`String`](/ja/reference/data-types/string)

**戻り値**

対応するホッピングウィンドウの下限を返します。[`DateTime`](/ja/reference/data-types/datetime)

**例**

**ホッピングウィンドウの開始**

```sql title=Query theme={null}
SELECT hopStart(now(), INTERVAL '1' DAY, INTERVAL '2' DAY)
```

```response title=Response theme={null}
2024-07-03 00:00:00
```

<div id="tumble">
  ## tumble
</div>

導入バージョン: v21.12.0

タンブリング時間ウィンドウでは、レコードは固定長 (`interval`) の、重複しない連続したウィンドウに割り当てられます。

**構文**

```sql theme={null}
tumble(time_attr, interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。 [`DateTime`](/ja/reference/data-types/datetime)
* `interval` — `Interval` で指定するウィンドウ間隔。 [`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。 [`String`](/ja/reference/data-types/string)

**戻り値**

対応するタンブリングウィンドウの下限 (含む) と上限 (含まない) を返します。 [`Tuple(DateTime, DateTime)`](/ja/reference/data-types/tuple)

**例**

**タンブリングウィンドウ**

```sql title=Query theme={null}
SELECT tumble(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
('2024-07-04 00:00:00','2024-07-05 00:00:00')
```

<div id="tumbleEnd">
  ## tumbleEnd
</div>

導入バージョン: v22.1.0

対応するタンブリングウィンドウの上限を返します。

**構文**

```sql theme={null}
tumbleEnd(time_attr, interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。[`DateTime`](/ja/reference/data-types/datetime)
* `interval` — `Interval` で指定するウィンドウ間隔。[`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。[`String`](/ja/reference/data-types/string)

**戻り値**

対応するタンブリングウィンドウの上限を返します。[`DateTime`](/ja/reference/data-types/datetime)

**例**

**タンブリングウィンドウの終端**

```sql title=Query theme={null}
SELECT tumbleEnd(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
2024-07-05 00:00:00
```

<div id="tumbleStart">
  ## tumbleStart
</div>

導入バージョン: v22.1.0

対応するタンブリングウィンドウの下限を返します。

**構文**

```sql theme={null}
tumbleStart(time_attr, interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。[`DateTime`](/ja/reference/data-types/datetime)
* `interval` — `Interval` 型のウィンドウ間隔。[`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。[`String`](/ja/reference/data-types/string)

**戻り値**

対応するタンブリングウィンドウの下限を返します。[`DateTime`](/ja/reference/data-types/datetime)

**例**

**タンブリングウィンドウの開始**

```sql title=Query theme={null}
SELECT tumbleStart(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
2024-07-04 00:00:00
```

<div id="windowID">
  ## windowID
</div>

導入バージョン: v22.1.0

対応するタンブリングウィンドウまたはホッピングウィンドウの識別子を返します。
この関数は `WINDOW VIEW` でのみ使用できます。

**構文**

```sql theme={null}
windowID(time_attr, interval[, timezone])
```

**引数**

* `time_attr` — 日付と時刻。 [`DateTime`](/ja/reference/data-types/datetime)
* `interval` — Interval 型のウィンドウ間隔。 [`Interval`](/ja/reference/data-types/int-uint)
* `timezone` — 任意。タイムゾーン名。 [`String`](/ja/reference/data-types/string)

**戻り値**

対応するウィンドウの識別子を返します。 [`UInt32`](/ja/reference/data-types/int-uint)

**例**

**ウィンドウ ID**

```sql title=Query theme={null}
SELECT windowID(now(), toIntervalDay('1'))
```

```response title=Response theme={null}
```

<div id="related-content">
  ## 関連コンテンツ
</div>

* [時系列データのユースケースガイド](/ja/guides/use-cases/real-time-analytics/time-series)
