Skip to main content
Skip to main content
Edit this page

Функции для работы с контейнерами map

map

Преобразовывает пары ключ:значение в тип данных Map(key, value).

Синтаксис

Аргументы

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

  • Структура данных в виде пар ключ:значение.

Тип: Map(key, value).

Примеры

Запрос:

Результат:

Запрос:

Результат:

Смотрите также

mapAdd

Собирает все ключи и суммирует соответствующие значения.

Синтаксис

Аргументы

Аргументами являются контейнеры Map или кортежи из двух массивов, где элементы в первом массиве представляют ключи, а второй массив содержит значения для каждого ключа. Все массивы ключей должны иметь один и тот же тип, а все массивы значений должны содержать элементы, которые можно приводить к одному типу (Int64, UInt64 или Float64). Общий приведенный тип используется в качестве типа для результирующего массива.

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

  • В зависимости от типа аргументов возвращает один Map или кортеж, в котором первый массив содержит отсортированные ключи, а второй — значения.

Пример

Запрос с кортежем:

Результат:

Запрос с контейнером Map:

Результат:

mapSubtract

Собирает все ключи и вычитает соответствующие значения.

Синтаксис

Аргументы

Аргументами являются контейнеры Map или кортежи из двух массивов, где элементы в первом массиве представляют ключи, а второй массив содержит значения для каждого ключа. Все массивы ключей должны иметь один и тот же тип, а все массивы значений должны содержать элементы, которые можно приводить к одному типу (Int64, UInt64 или Float64). Общий приведенный тип используется в качестве типа для результирующего массива.

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

  • В зависимости от аргумента возвращает один Map или кортеж, в котором первый массив содержит отсортированные ключи, а второй — значения.

Пример

Запрос:

Результат:

Запрос с контейнером Map:

Результат:

mapPopulateSeries

Заполняет недостающие ключи в контейнере map (пара массивов ключей и значений), где ключи являются целыми числами. Кроме того, он поддерживает указание максимального ключа, который используется для расширения массива ключей.

Синтаксис

Генерирует контейнер map, где ключи - это серия чисел, от минимального до максимального ключа (или аргумент max, если он указан), взятых из массива keys с размером шага один, и соответствующие значения, взятые из массива values. Если значение не указано для ключа, то в результирующем контейнере используется значение по умолчанию.

Количество элементов в keys и values должно быть одинаковым для каждой строки.

Аргументы

Аргументами являются контейнер Map или два массива, где первый массив представляет ключи, а второй массив содержит значения для каждого ключа.

Сопоставленные массивы:

или

  • map — контейнер Map с целочисленными ключами. Map.

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

  • В зависимости от аргумента возвращает контейнер Map или кортеж из двух массивов: ключи отсортированные по порядку и значения соответствующих ключей.

Пример

Запрос с сопоставленными массивами:

Результат:

Запрос с контейнером Map:

Результат:

mapContains

Определяет, содержит ли контейнер map ключ key.

Синтаксис

Аргументы

  • map — контейнер Map. Map.
  • key — ключ. Тип соответстует типу ключей параметра map.

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

  • 1 если map включает key, иначе 0.

Тип: UInt8.

Пример

Запрос:

Результат:

mapKeys

Возвращает все ключи контейнера map.

Функцию можно оптимизировать, если включить настройку optimize_functions_to_subcolumns. При optimize_functions_to_subcolumns = 1 функция читает только подстолбец keys вместо чтения и обработки данных всего столбца. Запрос SELECT mapKeys(m) FROM table преобразуется к запросу SELECT m.keys FROM table.

Синтаксис

Аргументы

  • map — контейнер Map. Map.

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

  • Массив со всеми ключами контейнера map.

Тип: Array.

Пример

Запрос:

Результат:

mapValues

Возвращает все значения контейнера map.

Функцию можно оптимизировать, если включить настройку optimize_functions_to_subcolumns. При optimize_functions_to_subcolumns = 1 функция читает только подстолбец values вместо чтения и обработки данных всего столбца. Запрос SELECT mapValues(m) FROM table преобразуется к запросу SELECT m.values FROM table.

Синтаксис

Аргументы

  • map — контейнер Map. Map.

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

  • Массив со всеми значениями контейнера map.

Тип: Array.

Примеры

Запрос:

Результат: