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 が取り除かれる点を除き、入力と同じです。
つまり、入力として 1 行もない場合、その型のデフォルト値(整数なら 0、Nullable() カラムなら Null)が返されます。
この挙動を変更するには、-OrNull combinator を使用できます。
実装の詳細
場合によっては、実行順序に依存することができます。
これは、ORDER BY を使用するサブクエリから SELECT されるケースに当てはまります。
SELECT クエリに GROUP BY 句、または少なくとも 1 つの集計関数が含まれている場合、ClickHouse(MySQL とは対照的に)は、SELECT、HAVING、ORDER BY 各句内のすべての式がキーまたは集計関数から計算されることを要求します。
言い換えると、テーブルから選択される各カラムは、キーとして、または集計関数の内部のいずれかで使用されている必要があります。
MySQL と同様の動作を得るには、その他のカラムを any 集計関数に渡すことができます。
例
クエリ: