7.5. Řazení řádků

poté, co dotaz vytvořil výstupní tabulku (po zpracování seznamu select), lze volitelně třídit. Pokud třídění není vybráno, řádky budou vráceny v blíže neurčeném pořadí. Skutečné pořadí v tomto případě bude záviset na typech plánu scan and join a pořadí na disku, ale nesmí se na něj spoléhat. Konkrétní uspořádání výstupu lze zaručit pouze tehdy, je-li výslovně zvolen krok řazení.

klauzule ORDER BY určuje pořadí řazení:

SELECT select_list FROM table_expression ORDER BY column1 ...]

sloupek1 atd., viz vyberte sloupce seznamu. Může to být buď výstupní název sloupce (viz oddíl 7.3.2) nebo číslo sloupce. Některé příklady:

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;

Jako rozšíření SQL standardu, PostgreSQL umožňuje také objednání do libovolné výrazy:

SELECT a, b FROM table1 ORDER BY a + b;

Odkazy na názvy sloupců v klauzuli FROM, které nejsou přítomny v seznamu select jsou také povoleny:

SELECT a FROM table1 ORDER BY b;

Ale tato rozšíření nefungují dotazy zahrnující UNION, INTERSECT nebo EXCEPT, a nejsou přenosné na jiné SQL databáze.

po každé specifikaci sloupce může následovat volitelný ASC nebo DESC pro nastavení směru řazení na vzestupně nebo sestupně. Asc objednávka je výchozí. Vzestupné pořadí dává nejprve menší hodnoty, kde“ menší “ je definováno z hlediska operátoru <. Podobně je sestupné pořadí určeno operátorem >.

je-li zadán více než jeden sloupec řazení, použijí se pozdější položky k řazení řádků, které jsou stejné podle pořadí uloženého dřívějšími sloupci řazení.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Previous post kolik stojí/hodnota použité vířivky?
Next post Co vědět o Josh Duggar sexuální zneužívání skandál