Skip to main content
Returns the elements of the input array in ascending order. If the argument <function> is provided, the sort order is determined by the result of applying <function> on each element of the array.

Syntax

ARRAY_SORT supports two signatures:
-- One array argument:
ARRAY_SORT(<array>)

-- One function and one or multiple array arguments:
ARRAY_SORT(<function>, <array> [, ...])

Parameters

ParameterDescriptionSupported input type
<function>An optional function used to determine the sort order.Any lambda function that takes the elements of <array> as input
<array>The array to be sorted.Any array

Return Type

ARRAY of the same type as the input array

Example

SELECT
	ARRAY_SORT([ 4, 1, 3, 2 ]);
Returns: [1,2,3,4] In this example below, the modulus operator is used to calculate the remainder on any odd numbers. Therefore ARRAY_SORT puts the higher (odd) numbers last in the results.
SELECT
	ARRAY_SORT(x -> x % 2, [ 4, 1, 3, 2 ]);
Returns: [4,2,1,3] In this example below, we pass in two array arguments. Therefore, we must pass in a lambda as the first argument and the lambda must have two parameters.
SELECT
	ARRAY_SORT(x, y -> y, [1, 2, 3], ['c', 'b', 'a']);
Returns: [3,2,1]