Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

any

any

Добавленный в: v1.1.0

Выбирает первое встретившееся значение столбца.

По умолчанию функция никогда не возвращает NULL, то есть игнорирует значения NULL во входном столбце. Однако если функция используется с модификатором RESPECT NULLS, она возвращает первое считанное значение независимо от того, равно оно NULL или нет.

Подробности реализации

В некоторых случаях можно полагаться на порядок выполнения. Это относится к случаям, когда SELECT выполняется из подзапроса, использующего ORDER BY.

Когда запрос SELECT содержит секцию GROUP BY или хотя бы одну агрегатную функцию, ClickHouse (в отличие от MySQL) требует, чтобы все выражения в секциях SELECT, HAVING и ORDER BY вычислялись по ключам или с помощью агрегатных функций. Иными словами, каждый столбец, выбранный из таблицы, должен использоваться либо в ключах, либо внутри агрегатных функций. Чтобы получить поведение, как в MySQL, можно поместить остальные столбцы в агрегатную функцию any.

Синтаксис

any(column)[ RESPECT NULLS]

Псевдонимы: any_value, first_value

Аргументы

  • column — Имя столбца. Any

Возвращаемое значение

Возвращает первое встретившееся значение. Any

Примеры

Пример использования

CREATE TABLE tab (city Nullable(String)) ENGINE=Memory;
INSERT INTO tab (city) VALUES (NULL), ('Amsterdam'), ('New York'), ('Tokyo'), ('Valencia'), (NULL);
SELECT any(city), anyRespectNulls(city) FROM tab;
┌─any(city)─┬─anyRespectNulls(city)─┐
│ Amsterdam │ ᴺᵁᴸᴸ                  │
└───────────┴───────────────────────┘
Navigation