any
Выбирает первое встретившееся значение в столбце.
По умолчанию функция никогда не возвращает NULL, т.е. игнорирует значения NULL во входном столбце.
Однако, если функция используется с модификатором RESPECT NULLS, она возвращает первое прочитанное значение, независимо от того, является оно NULL или нет.
Синтаксис
Псевдонимы any(column) (без RESPECT NULLS)
any_valuefirst_value.
Псевдонимы для any(column) RESPECT NULLS
anyRespectNulls,any_respect_nullsfirstValueRespectNulls,first_value_respect_nullsanyValueRespectNulls,any_value_respect_nulls
Параметры
column: имя столбца.
Возвращаемое значение
Первое встреченное значение.
Тип возвращаемого значения функции совпадает с типом аргумента, за исключением LowCardinality, который отбрасывается.
Это означает, что при отсутствии строк во входных данных функция вернёт значение по умолчанию для этого типа (0 для целых чисел или Null для столбца типа Nullable()).
Вы можете использовать комбинатор -OrNull combinator, чтобы изменить это поведение.
Особенности реализации
В некоторых случаях можно полагаться на порядок выполнения.
Это относится к ситуациям, когда SELECT берётся из подзапроса, использующего ORDER BY.
Когда запрос SELECT содержит предложение GROUP BY или хотя бы одну агрегатную функцию, ClickHouse (в отличие от MySQL) требует, чтобы все выражения в предложениях SELECT, HAVING и ORDER BY вычислялись из ключей или из агрегатных функций.
Другими словами, каждый столбец, выбираемый из таблицы, должен использоваться либо в ключах, либо внутри агрегатных функций.
Чтобы получить поведение, похожее на MySQL, вы можете обернуть остальные столбцы в агрегатную функцию any.
Пример
Запрос: