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