Skip to main content
バージョン 25.6 以降で利用可能このテーブルエンジンは、OSS と Cloud の両方でバージョン 25.6 以降から利用できます。
このエンジンは MergeTree を継承しています。主な違いは、データパーツのマージ方法にあります。CoalescingMergeTree テーブルでは、ClickHouse は同じ主キー (より正確には同じソートキー) を持つすべての行を、各カラムの最新の非 NULL 値を含む 1 行に置き換えます。 これにより、カラム単位の upsert が可能になり、行全体ではなく特定のカラムだけを更新できます。 CoalescingMergeTree は、キーカラム以外で Nullable 型を使用することを前提としています。カラムが Nullable でない場合、動作は ReplacingMergeTree と同じです。

テーブルの作成

リクエストパラメータの詳細については、リクエストの説明を参照してください。

CoalescingMergeTree のパラメータ

カラム

columns - 任意。値を結合するカラム名のタプルです。指定するカラムは、パーティションまたはソートキーに含めることはできません。columns が指定されていない場合、ClickHouse はソートキーに含まれないすべてのカラムの値を結合します。

クエリ句

CoalescingMergeTree テーブルを作成する場合、MergeTree テーブルの作成時と同じが必要です。

使用例

次のテーブルについて考えます。
そのテーブルにデータを挿入します:
結果は次のようになります。
正しい最終結果を得るための推奨クエリ:
FINAL 修飾子を使用すると、ClickHouse はクエリ時にマージロジックを適用し、各カラムについて正しく統合された”最新”の値を確実に取得できます。これは、CoalescingMergeTree テーブルにクエリを実行する際に、最も安全かつ正確な方法です。
GROUP BY を使う方法では、基盤となるパーツが完全にマージされていない場合、誤った結果が返されることがあります。
最終更新日 2026年6月10日