first_value
Это псевдоним для any
, но он был введён для совместимости с Оконными Функциями, где иногда необходимо обрабатывать NULL
значения (по умолчанию все агрегатные функции ClickHouse игнорируют значения NULL).
Он поддерживает объявление модификатора, который учитывает null (RESPECT NULLS
), как в Оконных Функциях, так и в обычной агрегации.
Как и в случае с any
, без Оконных Функций результат будет случайным, если исходный поток не упорядочен, а возвращаемый тип соответствует входному типу (Null будет возвращён только если входной тип является Nullable или добавлен комбинирующий -OrNull).
примеры
пример1
По умолчанию значение NULL игнорируется.
пример2
Значение NULL игнорируется.
пример3
Значение NULL учитывается.
пример4
Стабилизированный результат с использованием подзапроса с ORDER BY
.