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
句または少なくとも一つの集約関数がある場合、ClickHouse(MySQLとは対照的に)は、SELECT
、HAVING
、ORDER BY
句内のすべての式がキーまたは集約関数から計算される必要があります。 言い換えれば、テーブルから選択された各カラムは、キーのいずれかまたは集約関数の内部で使用されなければなりません。 MySQLのような動作を得るには、他のカラムを any
集約関数に入れることができます。
例
クエリ: