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
-- Remove duplicate numbers
f1 := ARRAY_DISTINCT(ARRAY(1, 2, 2, 3, 3, 3)),
-- Remove duplicate strings
f2 := ARRAY_DISTINCT(ARRAY('A', 'B', 'A', 'C', 'B')),
-- Real-world string example
f3 := ARRAY_DISTINCT(ARRAY('apple', 'banana', 'apple')),
-- No duplicates to remove
f4 := ARRAY_DISTINCT(ARRAY(1, 2, 3)),
-- All elements the same
f5 := ARRAY_DISTINCT(ARRAY(5, 5, 5)),
-- Empty array
f6 := ARRAY_DISTINCT(ARRAY()::BIGINT[]),
-- Distinct rows from ZIP (DuckDB: unnest + DISTINCT + list rebuild)
f7 := ARRAY_DISTINCT(ZIP(ARRAY(1, 1, 2) AS x, ARRAY(10, 10, 20) AS y))
;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