Klauzule ORDER BY

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Klauzule ORDER BY v Accessu umožňuje seřadit výsledné záznamy dotazu podle zadaného pole nebo polí ve vzestupném nebo sestupném pořadí.

Syntaxe

SELECT fieldlist
Tabulka FROM
Selectcriteria WHERE
[ORDER BY field1 [ASC | DESC ][, pole2 [ASC | DESC ]][, ...]]]

Příkaz SELECT obsahující klauzuli ORDER BY se skládá z těchto částí:

Část Popis
seznam_polí Název pole nebo polí, která se mají načíst, a dále jakékoli aliasy názvů polí, agregační funkce jazyka SQL, výběrové predikáty (ALL, DISTINCT, DISTINCTROW nebo TOP) nebo jiné parametry příkazu SELECT
tabulka Název tabulky, ze které se načítají záznamy
výběrová_kritéria Výběrová kritéria. Pokud příkaz obsahuje klauzuli WHERE, seřadí databázový stroj Microsoft Access hodnoty po uplatnění podmínek WHERE na záznamy.
pole1, pole2 Názvy polí, podle kterých se mají záznamy seřadit

Poznámky

Klauzule ORDER BY je nepovinná. Pokud ale chcete, aby byla zobrazená data seřazená, musíte klauzuli ORDER BY použít.

Výchozí pořadí řazení je vzestupné (A až Z, 0 až 9). Oba následující příklady seřadí jména zaměstnanců podle příjmení:

SELECT LastName, FirstName
FROM Employees
ORDER BY LastName;

SELECT LastName, FirstName
FROM Employees
ORDER BY LastName ASC;

Pokud chcete řadit v sestupném pořadí (Ž až A, 9 až 0), přidejte na konec každého pole, které chcete seřadit sestupně, rezervované slovo DESC. Následující příklad vybere mzdy a seřadí je v sestupném pořadí:

SELECT LastName, Salary
FROM Employees
ORDER BY Salary DESC, LastName;

Pokud v klauzuli ORDER BY určíte pole, které obsahuje data typu Memo nebo Objekt OLE, dojde k chybě. Databázový stroj Microsoft Access neřadí podle polí těchto typů.

ORDER BY je obvykle poslední položkou v příkazu SQL.

Do klauzule ORDER BY můžete zahrnout další pole. Záznamy se napřed seřadí podle prvního pole uvedeného za klauzulí ORDER BY. Záznamy, které mají v tomto poli shodné hodnoty, se pak seřadí podle hodnoty v druhém uvedeném poli, a tak dále.