ARRAY_DISTINCT()
All functions > ARRAY > ARRAY_DISTINCT()
Returns an array with distinct elements, sorted in ascending order.
Signatures
Returns: An array with distinct elements sorted in ascending order
ARRAY_DISTINCT(array: ARRAY<T>) → ARRAY<T> sql
| Parameter | Type | Required | Description |
|---|---|---|---|
array | ARRAY<T> | Yes | The input array containing possible duplicate elements |
Notes
- Removes all duplicate elements and sorts the result
- Returns sorted distinct elements
- Eliminates all duplicates using set semantics
- Handles NULL values consistently
- Empty arrays remain empty
- Supports
ARRAY<ROW>andARRAY<ARRAY<T>>: equality is structural (exact field names, types, and values)
Aliases
ARRAY_UNIQUE
See also
Examples
FeatureQL
SELECT
f1 := ARRAY_DISTINCT(ARRAY[1, 2, 2, 3, 3, 3]), -- Remove duplicate numbers
f2 := ARRAY_DISTINCT(ARRAY['A', 'B', 'A', 'C', 'B']), -- Remove duplicate strings
f3 := ARRAY_DISTINCT(ARRAY['apple', 'banana', 'apple']), -- Real-world string example
f4 := ARRAY_DISTINCT(ARRAY[1, 2, 3]), -- No duplicates to remove
f5 := ARRAY_DISTINCT(ARRAY[5, 5, 5]), -- All elements the same
f6 := ARRAY_DISTINCT(ARRAY[]::BIGINT[]), -- Empty array
f7 := ARRAY_UNIQUE(ZIP(ARRAY[1, 1, 2] AS x, ARRAY[10, 10, 20] AS y)) -- Distinct rows from ZIP (DuckDB: unnest + DISTINCT + list rebuild)
;Result
| f1 ARRAY | f2 ARRAY | f3 ARRAY | f4 ARRAY | f5 ARRAY | f6 ARRAY | f7 VARCHAR |
|---|---|---|---|---|---|---|
| [1, 2, 3] | [A, B, C] | [apple, banana] | [1, 2, 3] | [5] | [] | [{x: 1, y: 10}, {x: 2, y: 20}] |
On this page