first_value
これは any
のエイリアスですが、ウィンドウ関数との互換性を考慮して導入されました。ウィンドウ関数では、時として NULL
値を処理する必要があります(デフォルトでは、すべての ClickHouse 集約関数は NULL 値を無視します)。
RESPECT NULLS
という修飾子を宣言して、NULL を尊重することができます。これは ウィンドウ関数 の場合でも、通常の集約処理でも同様です。
any
と同様に、ウィンドウ関数がない場合、ソースストリームが順序付けられていないと結果はランダムになり、戻り値の型が入力の型と一致する場合(入力が Nullable である場合、または -OrNull 組み合わせが追加された場合にのみ Null が返されます)に結果が返されます。
examples
example1
デフォルトでは、NULL 値は無視されます。
example2
NULL 値は無視されます。
example3
NULL 値は受け入れられます。
example4
ORDER BY
を使ったサブクエリで安定化された結果。