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