Sąlyga ORDER BY programoje „Access“ rikiuoja užklausos rezultatų įrašus nurodytame lauke ar laukuose didėjimo arba mažėjimo tvarka.
Sintaksė
SELECT laukų_sąrašas
FROM lentelė WHERE pasirinkti_kriterijai [ORDER BY laukas1 [ASC | DESC ][, laukas2 [ASC | DESC ]][, ...]]]Sakinys SELECT su sąlyga ORDER BY yra sudarytas iš šių dalių:
Dalis |
Aprašas |
laukų_sąrašas |
Nuskaitomo lauko arba laukų pavadinimai su visais lauko pavadinimo pseudonimais, SQL agregavimo funkcijos, atrankos taisyklių sąlygos (ALL, DISTINCT, DISTINCTROW arba TOP) arba kitos sakinio SELECT parinktys. |
lentelė |
Lentelės, iš kurios nuskaitomi įrašai, pavadinimas. |
atrankos_kriterijai |
Atrankos kriterijai. Jei sakinyje yra sąlyga WHERE, „Microsoft Access“ duomenų bazės modulis, pritaikęs įrašams sąlygas WHERE, išdėsto reikšmes. |
laukas1, laukas2 |
Laukų, kuriuose rikiuoti įrašus, pavadinimai. |
Pastabos
Sąlyga ORDER BY yra pasirinktinė. Tačiau, jei norite, kad jūsų duomenys būtų rodomi surikiuota tvarka, turite naudoti ORDER BY.
Numatytoji rikiavimo tvarka yra didėjimo tvarka (nuo A iki Z, nuo 0 iki 9). Abiejuose tolesniuose pavyzdžiuose darbuotojų vardai rikiuojami pagal pavardę:
SELECT LastName, FirstName
FROM Employees ORDER BY LastName;
SELECT LastName, FirstName
FROM Employees ORDER BY LastName ASC;
Norėdami rikiuoti mažėjimo tvarka (nuo Z iki A, nuo 9 iki 0), įtraukite rezervuotąjį žodį DESC kiekvieno lauko, kurį norite rikiuoti mažėjimo tvarka, pabaigoje. Toliau pateiktame pavyzdyje pažymimi atlyginimai ir surikiuojami mažėjimo tvarka:
SELECT LastName, Salary
FROM Employees ORDER BY Salary DESC, LastName;
Jei nurodysite lauką, kuriame yra Memo arba OLE objekto duomenys sąlygoje ORDER BY, įvyks klaida. „Microsoft Access“ duomenų bazės modulis negali rikiuoti šių tipų laukų.
ORDER BY paprastai yra SQL sakinio paskutinis elementas.
Sąlygoje ORDER BY galite įtraukti papildomų laukų. Pirmiausia įrašai rikiuojami pagal pirmą lauką, pateiktą po ORDER BY. Tada įrašai, kurių reikšmės šiame lauke vienodos, rikiuojami pagal reikšmę antrame sąrašo lauke ir t. t.