Для подсчета количества элементов в массиве в PostgreSQL можно использовать функцию cardinality() или функцию array_length().

Подсчет количества элементов в массиве осуществляется двумя способами:

  • cardinality(array): Возвращает общее количество элементов в массиве.
  • array_length(array, 1): Возвращает количество элементов в указанном измерении (обычно 1 для одномерных массивов).

Метод 1: Подсчет количества элементов массива с помощью функции cardinality()

Функция cardinality() возвращает общее количество элементов в массиве.

SELECT cardinality(ARRAY['Bread', 'Butter', 'Jam']) AS element_count;

Объяснение:Массив{‘Bread’, ‘Butter’, ‘Jam’} имеет 3 элемента.

Результат:

Метод 2: Подсчет количества элементов массива с помощью array_length()

Функция array_length() возвращает количество элементов по указанному измерению массива. Для одномерного массива следует указать 1 в качестве измерения.

SELECT array_length(ARRAY['Bread', 'Butter', 'Jam'], 1) AS element_count;

Объяснение:Массив{‘Bread’, ‘Butter’, ‘Jam’} имеет 3 элемента.

Результат:

Подсчитайте количество элементов массива в столбце в PostgreSQL:

Давайте используем имя таблицы «orders_arr_table»      

Вы можете подсчитать количество элементов в столбце order_items таблицы PostgreSQL.

Метод 1: Подсчет количества элементов массива в столбце с помощью функции cardinality()

Функция cardinality() возвращает общее количество элементов в столбце таблицы PostgreSQL.

SELECT *, cardinality(order_items) AS item_count FROM orders_arr_table;

Объяснение:  Функция cardinality() берет весь столбец «order_items» и подсчитывает количество элементов этого конкретного столбца.

Результат:

Метод 2: Подсчет количества элементов массива в столбце с помощью функции array_length()

Функция array_length() возвращает общее количество элементов в столбце таблицы PostgreSQL.

SELECT *, array_length(order_items,1) AS item_count FROM orders_arr_table;

Объяснение:  Функция array_length() принимает весь столбец «order_items», а также аргумент 1, который обозначает одномерный массив, и подсчитывает количество элементов этого конкретного столбца.

Результат: