2017-05-22 10 views
0

Clickhouseで特定の条件を満たすすべてのレコードに特定の値を追加することは可能ですか?Clickhouseの配列に追加

+0

は、あなたがそれを試してみましたか? – jhhoff02

+0

こちらのドキュメント(https://clickhouse.yandex/reference_en.html)で検索しようとしましたが見つかりませんでした。 –

答えて

0

アップデートと削除はクリックハウスではサポートされていないため、できません。

0

ClickHouseのすべてのデータが不変なので、テーブルのデータを変更することはできません。

しかし:あなたは、選択時にその場にそのを追加したり、あなたのためにそれを行いますVIEWを作ることができます。

変更された状態で格納されている列が本当に必要な場合は、表コピーまたはマテリアライズド・ビューを作成する必要があります。

これらの関数は便利なarrayConcat、arrayPushBack、arrayPushFront(ドキュメンテーションが近づいています)です。

ので

SELECT 
    CASE 
    WHEN condition > 10 THEN arrayPushBack(array_field, 'extra_element') 
    ELSE array_field 
    END 
FROM 
(
    SELECT 
     10 AS condition, ['a', 'b'] AS array_field 
    UNION ALL 
    SELECT 
     101, ['c', 'd'] 
);