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