Problém:
Chcete zobrazit záznamy z tabulky v abecedním nebo obráceném pořadí podle daného sloupce.
Příklad:
Naše databáze má tabulku s názvem zákazník. Tabulka zákazníků obsahuje data ve sloupcích id, first_name a last_name.
id | first_name | last_name |
---|---|---|
1 | Susan | Thomas |
2 | Jan | Michael |
3 | Tome | Muller |
Zobrazme informace o každém zákazníkovi seřazené vzestupně podle jeho příjmení.
Řešení:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
Tento dotaz vrátí abecedně seřazené záznamy:
id | first_name | last_name |
---|---|---|
2 | Jan | Michael |
3 | Tome | Muller |
1 | Susan | Thomas |
Diskuse:
Pokud chcete vybrat záznamy z tabulky, ale chtěli byste je vidět seřazené podle daného sloupce, můžete jednoduše použít ORDER BY
klauzule na konci SELECT
prohlášení. Nezáleží na tom, jak komplikovaný nebo dlouhý je váš SQL dotaz – ORDER BY
by měl být vždy na konci příkazu.
Po ORDER BY
klíčové slovo, pojmenujete sloupec, podle kterého mají být záznamy seřazeny. V našem dotazu řadíme podle příjmení zákazníka.
nebo
Ve výchozím nastavení ORDER BY
bez jakýchkoli dalších specifikátorů seřazených ve vzestupném pořadí (ekvivalent použití ASC
explicitně klíčové slovo). Jak pravděpodobně tušíte, ASC
znamená „vzestupně“. Pokud chcete řadit v sestupném pořadí, jednoduše zadejte DESC
klíčové slovo za názvem sloupce.
Níže uvedený dotaz je podobný předchozímu, ale vrací seznam zákazníků seřazený sestupně podle jejich příjmení:
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
id | first_name | last_name |
---|---|---|
1 | Susan | Thomas |
3 | Tome | Muller |
2 | Jan | Michael |