メインコンテンツへスキップ

説明

SimpleState コンビネータは、min 関数に適用でき、すべての入力値の最小値を返します。結果は SimpleAggregateFunction 型で返されます。

使用例

日々の気温 測定値を記録するテーブルを使った実践的な例を見てみましょう。各地点について、記録された最低気温を 保持したいとします。min を指定した SimpleAggregateFunction 型を使用すると、より低い気温が記録されたときに 保存されている値が自動的に更新されます。 生の気温測定値用の元テーブルを作成します:
最小気温を格納する集約テーブルを作成します。
挿入されたデータに対するinsert triggerとして機能し、場所ごとの最低気温と最高気温を保持する インクリメンタルmaterialized viewを作成します。
初期の温度測定値をいくつか挿入します:
これらの値は materialized view によって自動的に処理されます。現在の状態を確認してみましょう。
さらにいくつかのデータを挿入します:
新しいデータ追加後の更新された極値を表示します:
上のとおり、各ロケーションには挿入された値が 2 つあります。これは、 パーツがまだマージされておらず (AggregatingMergeTree による集約もまだ行われていない) ためです。部分的な状態から 最終結果を得るには、GROUP BY を追加する必要があります。
これで、期待どおりの結果になります。
SimpleState では、部分集約状態を結合するために Merge コンビネータを使う必要はありません。

関連項目

最終更新日 2026年6月10日