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

はじめに

ClickHouseのテーブルを配列カラムで絞り込むのは一般的な操作であり、配列カラムを扱うための関数も数多く用意されています。 この記事では、配列カラムでテーブルを絞り込む方法に焦点を当てます。なお、以下のビデオでは、配列に関連するそのほかの多くの関数も紹介しています。

ここでは、それぞれ文字列の配列と整数の配列を含む 2 つのカラム tags_stringtags_int を持つテーブルを例として使用します。
  • サンプルのデータベースとテーブルを作成します。
  • サンプルテーブルを作成する
  • テーブルにサンプルデータを挿入します。
has(arr, elem) 関数を使用して、arr 配列に elem 要素を含む行を返すようにテーブルを絞り込みます。 tags_string 配列に tag1 要素を含む行を返すように、テーブルを絞り込みます。
hasAll(arr, elems) 関数を使用して、elems 配列のすべての要素が arr 配列に含まれる行を返します。 テーブルを絞り込み、tags_string 配列のすべての要素が ['tag1', 'tag2'] 配列に含まれる行を返します。
hasAny(arr, elems) 関数を使用して、elems 配列の少なくとも1つの要素が arr 配列に含まれる行を返します。 table を絞り込み、tags_string 配列の少なくとも1つの要素が ['tag1', 'tag2'] 配列に含まれる行を返します。
arrayExists(lambda, arr) 関数を使うと、ラムダ関数でテーブルをフィルタできます。 tags_int Array 内の少なくとも 1 つの要素が 3 より大きい行を返すように、テーブルをフィルタします。
最終更新日 2026年6月19日