minSimpleState
説明
SimpleState
コンビネーターは、min
関数に適用され、すべての入力値の中で最小値を返します。結果は SimpleAggregateFunction
型で返されます。
使用例
日々の温度測定を追跡するテーブルを使用した実用的な例を見てみましょう。各場所の記録された最低温度を維持したいと思います。SimpleAggregateFunction
型を min
と共に使用すると、より低い温度が記録されると自動的に保存された値が更新されます。
生の温度測定のソーステーブルを作成します:
最小温度を格納する集計テーブルを作成します:
挿入されたデータのトリガーとして機能し、各場所の最小および最大温度を維持するインクリメンタルマテリアライズドビューを作成します。
初期の温度測定を挿入します:
これらの測定はマテリアライズドビューによって自動的に処理されます。現在の状態を確認しましょう:
データをさらに挿入します:
新しいデータの後の更新された極値を表示します:
上記のように、各場所に対して2つの挿入値があることに注意してください。これは、パーツがまだマージされていない(AggregatingMergeTree
によって集約されていない)ためです。部分状態から最終結果を得るには、GROUP BY
を追加する必要があります:
期待される結果が得られます:
注記
SimpleState
を使用すると、部分集計状態を結合するために Merge
コンビネーターを使用する必要はありません。