efter att en fråga har producerat en utmatningstabell (efter att select-listan har bearbetats) kan den valfritt sorteras. Om sortering inte väljs returneras raderna i en ospecificerad ordning. Den faktiska ordningen i så fall beror på skannings-och anslutningsplantyperna och ordningen på disken, men den får inte åberopas. En viss utmatningsbeställning kan endast garanteras om sorteringssteget uttryckligen väljs.
ORDER BY-satsen anger sorteringsordningen:
SELECT select_list FROM table_expression ORDER BY column1 ...]
kolumn1, etc., se Välj listkolumner. Dessa kan antingen vara utdatanamnet på en kolumn (se avsnitt 7.3.2) eller numret på en kolumn. Några exempel:
SELECT a, b FROM table1 ORDER BY a;SELECT a + b AS sum, c FROM table1 ORDER BY sum;SELECT a, sum(b) FROM table1 GROUP BY a ORDER BY 1;
som en förlängning till SQL-standarden tillåter PostgreSQL också beställning av godtyckliga uttryck:
SELECT a, b FROM table1 ORDER BY a + b;
referenser till kolumnnamn på From-satsen som inte finns i select-listan är också tillåtna:
SELECT a FROM table1 ORDER BY b;
men dessa tillägg fungerar inte i frågor som involverar UNION, INTERSECT, eller utom, och är inte Bärbara till andra SQL-databaser.
varje kolumnspecifikation kan följas av en valfri ASC eller DESC för att ställa in sorteringsriktningen till stigande eller fallande. ASC-order är standard. Stigande ordning sätter mindre värden först, där” mindre ” definieras i termer av < – operatören. På samma sätt bestäms fallande ordning med operatören >.
om mer än en sorteringskolumn anges används de senare posterna för att sortera rader som är lika med den ordning som införts av de tidigare sorteringskolumnerna.