any
カラムの最初に遭遇した値を選択します。
デフォルトでは、この関数はNULLを返さず、つまり入力カラム内のNULL値を無視します。
ただし、関数が RESPECT NULLS 修飾子を使用している場合、NULLかどうかに関わらず最初の値を返します。
構文
エイリアス any(column)(RESPECT NULLSなし)
any_valuefirst_value。
エイリアス any(column) RESPECT NULLS
anyRespectNulls,any_respect_nullsfirstValueRespectNulls,first_value_respect_nullsanyValueRespectNulls,any_value_respect_nulls
パラメータ
column: カラム名。
返される値
最初に遭遇した値。
注記
関数の返り値の型は入力と同じですが、LowCardinalityは除外されます。
これは、入力として行がない場合、その型のデフォルト値(整数の場合は0、Nullable()カラムの場合はNull)が返されることを意味します。
この動作を変更するために -OrNull コンビネータ を使用することができます。
実装の詳細
場合によっては、実行の順序に依存できます。
これは、SELECTがORDER BYを使用するサブクエリから来る場合に当てはまります。
SELECTクエリにGROUP BY句または少なくとも1つの集約関数がある場合、ClickHouseは(MySQLとは異なり)SELECT、HAVING、およびORDER BY句内のすべての式がキーまたは集約関数から計算されることを要求します。
言い換えれば、テーブルから選択される各カラムは、必ずキーまたは集約関数内で使用されなければなりません。
MySQLのような動作を得るには、他のカラムをany集約関数内に配置することができます。
例
クエリ: