MS Access - Příkaz ORDER BY

25. 11. 2012, Vladimír Klaus, přečteno 5648x

MS Access
SQL

Už tedy umíme vybírat data z tabulky příkazem SELECT, nyní se je naučíme řadit. Pokud totiž příkaz k řazení nebude použit, budou záznamy většinou v pořadí, v jakém byly do tabulky vkládány. Přesněji řečeno – pořadí není definováno.

Takto jednoduše seřadíme všechny zákazníky dle příjmení, a to vzestupně – v tomto případě (jedná se o textové pole) tedy od A do Z.

SELECT * FROM Zakaznici ORDER BY Prijmeni

SQL obrázek

Chceme-li řadit sestupně, použijeme klíčové slovo DESC. Takto získáme záznamy o prodejích, řazené dle částky od nejvyšší do nejnižší.

SELECT * FROM Objednavky ORDER BY Castka DESC

SQL obrázek

A dá se řadit podle více sloupců? Samozřejmě! Krásným příklad je seřazení zákazníků dle měst a pak (dalo by se říci v rámci měst) i dle příjmení a (v rámci příjmení) také dle jména. V níže uvedeném příkladu, kde je velmi málo dat v tabulce, je to patrné pouze u Prahy 8 a Příjmení.

SELECT * FROM Zakaznici ORDER BY Mesto, Prijmeni, Jmeno

SQL obrázek

Ještě jedna specialita. Vypíšeme všechny zákazníky, seřadíme dle PSČ a dále pak podle toho, jak byli přidáváni do tabulky, ale počínaje naposledy přidaným. Využijeme k tomu Id, což je údaj, který se automaticky zvyšuje o 1 při každém přidání záznamu. Samozřejmě se nezvyšuje sám od sebe, ale musíme to zvyšování tomuto poli nastavit.

SELECT * FROM Zakaznici ORDER BY PSC, Id DESC

SQL obrázek