PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Array-Elemente sortieren

Der beste Weg, ein Array von Ganzzahlen zu sortieren, ist zweifellos die Verwendung der Intarray-Erweiterung, die dies viel, viel, viel schneller macht als jede SQL-Formulierung:

CREATE EXTENSION intarray;

SELECT sort( ARRAY[4,3,2,1] );

Eine Funktion, die für jeden Array-Typ funktioniert, ist:

CREATE OR REPLACE FUNCTION array_sort (ANYARRAY)
RETURNS ANYARRAY LANGUAGE SQL
AS $$
SELECT ARRAY(SELECT unnest($1) ORDER BY 1)
$$;

(Nach Diskussion an anderer Stelle habe ich meine Version durch die etwas schnellere von Pavel ersetzt).