any
カラムの最初に遭遇した値を選択します。
デフォルトでは、この関数はNULLを返さず、つまり入力カラム内のNULL値を無視します。
ただし、関数が RESPECT NULLS
修飾子を使用している場合、NULLかどうかに関わらず最初の値を返します。
構文
エイリアス any(column)
(RESPECT NULLS
なし)
any_value
first_value
。
エイリアス any(column) RESPECT NULLS
anyRespectNulls
,any_respect_nulls
firstValueRespectNulls
,first_value_respect_nulls
anyValueRespectNulls
,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
集約関数内に配置することができます。
例
クエリ: