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

any

導入バージョン: v1.1.0 カラム内で最初に現れた値を選択します。
クエリは任意の順序で実行される可能性があるため、この関数の結果は非決定論的です。任意ではあるものの決定論的な結果が必要な場合は、min または max 関数を使用してください。
デフォルトでは、この関数は NULL を返さず、つまり入力カラム内の NULL 値を無視します。 ただし、この関数を RESPECT NULLS 修飾子付きで使用すると、NULL かどうかにかかわらず最初の値を返します。 実装の詳細 場合によっては、実行順序を前提にできます。 これは、SELECTORDER BY を使用するサブクエリから取得される場合に当てはまります。 SELECT クエリに GROUP BY 句または 1 つ以上の集約関数がある場合、ClickHouse では (MySQL とは異なり) SELECTHAVINGORDER BY の各句にあるすべての式は、キーまたは集約関数から計算されている必要があります。 言い換えると、テーブルから選択される各カラムは、キーとして使用するか、集約関数の中で使用する必要があります。 MySQL のような動作を実現するには、他のカラムを any 集約関数に含めることができます。
関数の戻り値の型は入力と同じですが、LowCardinality は除外されます。 つまり、入力に行が 1 つもない場合は、その型のデフォルト値 (整数なら 0、Nullable() カラムなら Null) を返します。 この動作は -OrNull コンビネータで変更できます。
構文
any(column)[ RESPECT NULLS]
別名: any_value, first_value 引数
  • column — カラム名。Any
戻り値 最初に取得された値を返します。 Any 使用例
Query
CREATE TABLE tab (city Nullable(String)) ENGINE=Memory;
INSERT INTO tab (city) VALUES (NULL), ('Amsterdam'), ('New York'), ('Tokyo'), ('Valencia'), (NULL);
SELECT any(city), anyRespectNulls(city) FROM tab;
Response
┌─any(city)─┬─anyRespectNulls(city)─┐
│ Amsterdam │ ᴺᵁᴸᴸ                  │
└───────────┴───────────────────────┘
最終更新日 2026年6月10日