Klauzula ORDER BY

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Klauzula ORDER BY w programie Access sortuje rekordy stanowiące wynik zapytania według określonego pola lub pól w kolejności rosnącej lub malejącej.

Składnia

Lista pól SELECT
FROM tabela
WHERE selectcriteria
[ORDER BY pole1 [ASC | DESC ][, pole2 [ASC | DESC ]][, ...]]]

Instrukcja SELECT zawierająca klauzulę ORDER BY składa się z następujących segmentów:

Segment Opis
lista_pól Nazwa pola lub pól, jakie mają być pobierane wraz ze wszystkimi ewentualnymi aliasami nazw pól, funkcje agregujące w języku SQL, orzeczenia wyboru (ALL, DISTINCT, DISTINCTROW i TOP) lub inne opcje instrukcji SELECT.
tabela Nazwa tabeli, z której są pobierane rekordy.
kryteria_wyboru Kryteria wyboru. Jeśli instrukcja zawiera klauzulę WHERE, aparat bazy danych programu Microsoft Access porządkuje wartości po zastosowaniu warunków klauzuli WHERE do rekordów.
pole1, pole2 Nazwy pól, według których mają być sortowane rekordy.

Spostrzeżenia

Klauzula ORDER BY jest opcjonalna. Jednak aby wyświetlać dane w posortowanej kolejności, musisz użyć klauzuli ORDER BY.

Domyślna kolejność sortowania jest rosnąca (od A do Z, od 0 do 9). W obu poniższych przykładach następuje sortowanie imion i nazwisk pracowników według nazwisk:

SELECT LastName, FirstName
FROM Employees
ORDER BY LastName;

SELECT LastName, FirstName
FROM Employees
ORDER BY LastName ASC;

Aby sortować w kolejności malejącej (od Z do A, od 9 do 0), dodaj słowo zastrzeżone DESC po nazwie każdego pola, które chcesz posortować w kolejności malejącej. W przykładzie poniżej następuje wybranie danych o wypłatach i ich posortowanie w porządku malejącym:

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

W przypadku podania w klauzuli ORDER BY pola zawierającego dane typu Nota lub Obiekt OLE wystąpi błąd. Aparat bazy danych programu Microsoft Access nie sortuje według pól tego typu.

Klauzula ORDER BY stanowi zazwyczaj ostatni element instrukcji SQL.

W klauzuli ORDER BY można uwzględnić dodatkowe pola. Rekordy są sortowane najpierw według pierwszego pola na liście wymienionego po klauzuli ORDER BY. Rekordy o jednakowych wartościach w tym polu są następnie sortowane według wartości w drugim wymienionym polu i tak dalej.