Skip to content

Latest commit

 

History

History
56 lines (46 loc) · 1.59 KB

count-the-number-of-items-in-an-array.md

File metadata and controls

56 lines (46 loc) · 1.59 KB

Count The Number Of Items In An Array

There are two ways to count the number of items in an array with PostgreSQL. The one that might jump out at you or show up at the top of search results is array_length.

> select array_length(array[1,2,3], 1);
+--------------+
| array_length |
|--------------|
| 3            |
+--------------+

> select array_length(array[[1,2], [3,4]], 2);
+--------------+
| array_length |
|--------------|
| 2            |
+--------------+

This requires specifying the dimension at which you want to check the length. The first example, checking the 1st dimension of a one-dimensional array, seems like the more common and useful scenario. In the second example, we are checking the 2nd dimension.

The other way we can determine the number of items in an array is with the cardinality function.

Returns the total number of elements in the array, or 0 if the array is empty.

> select cardinality(array[1,2,3]);
+-------------+
| cardinality |
|-------------|
| 3           |
+-------------+

> select cardinality(array[[1,2], [3,4]]);
+-------------+
| cardinality |
|-------------|
| 4           |
+-------------+

This behaves the same as array_length for a one-dimensional array and doesn't require a second argument. Where it gets more interesting is with multi-dimensional arrays. It returns the total number of elements in the arrayregardless of the nesting.

source