Ključna beseda ORDER BY se uporablja za razvrščanje nabora rezultatov v naraščajočem ali padajočem vrstnem redu. Najprej si izdelajmo tabelo razvrsanje, ki nam bo omogočila boljše razumevanje za ta primer in kako izdelamo tabelo v bazi podatkov.
CREATE TABLE razvrsanje ( id INT AUTO_INCREMENT PRIMARY KEY, ime VARCHAR(50), priimek VARCHAR(50), delo VARCHAR(50), placa DECIMAL(6, 2) );
Vpišimo podatke v tabelo, ki smo jo pravkar naredili.
INSERT INTO razvrsanje (ime, priimek, delo, placa) VALUES ('Rebeka', 'Banana', 'Tajništvo', 1024.87), ('Lučka', 'Ananas', 'Tajništvo', 1231.34), ('Andrej', 'Borovnica', 'Skladišče', 2762.98), ('Bela', 'Čokolada', 'Prodaja', 950.75), ('Karmen', 'Peteršilj', 'Proizvodnja', 5000.73), ('Tina', 'Kivi', 'Računovodstvo', 3452.67), ('Francka', 'Jabolko', 'Proizvodnja', 1234.56), ('Andreja', 'Hruška', 'Proizvodnja', 2130.90), ('Borut', 'Bukovnik', 'Proizvodnja', 1200.00), ('Cene', 'Solata', 'Prodaja', 1124.55), ('Želod', 'Rjava', 'Računovodstvo', 1167.66), ('Čenča', 'Modra', 'Trgovina', 1180.99), ('Jože', 'Zelena', 'Proizvodnja', 1030.30), ('Damjana', 'Rdeča', 'Prodaja', 980.91), ('Emil', 'Kombi', 'Proizvodnja', 982.55), ('Ema', 'Marelica', 'Proizvodnja', 991.21), ('Gregor', 'Zelen', 'Proizvodnja', 923.70), ('Herman', 'Granata', 'Proizvodnja', 899.01), ('Ivan', 'Grenivka', 'Proizvodnja', 1010.00), ('Jagoda', 'Maslo', 'Proizvodnja', 5230.45), ('Janez', 'Kranjski', 'Nabava', 3520.34), ('Marija', 'Nešplja', 'Vzdrževanje', 1400.75), ('Marinka', 'Papaja', 'Prodaja', 2100.20), ('Nina', 'Mandarina', 'Proizvodnja', 1245.65), ('Olga', 'Limona', 'Računovodstvo', 450.80), ('Petra', 'Pomaranča', 'Proizvodnja', 1045.75), ('Sandra', 'Jagoda', 'Proizvodnja', 1088.74), ('Štefka', 'Avokado', 'Skladišče', 1045.92), ('Ula', 'Mandarina', 'Nabava', 1800.61), ('Vida', 'Smokva', 'Proizvodnja', 1520.20), ('Zdenko', 'Oreh', 'Vzdrževanje', 1200.80), ('Breskva', 'Kompot', 'Prodaja', 1900.43), ('Borovnica', 'Margarina', 'Proizvodnja', 1841.38), ('Kivi', 'Preliv', 'Skladišče', 1799.90), ('Johanca', 'Peteršilj', 'Proizvodnja', 980.32), ('Lojze', 'Paradižnik', 'Proizvodnja', 990.95), ('Branko', 'Zamrznjen', 'Proizvodnja', 853.33), ('Jolanda', 'Jabolko', 'Trgovina', 1023.33), ('Koka', 'Hruška', 'Proizvodnja', 1234.56), ('Matjaž', 'Lešnik', 'Proizvodnja', 2090.99), ('Milan', 'Gvajava', 'Proizvodnja', 2245.67), ('Aleš', 'Grenivka', 'Proizvodnja', 1100.11), ('Igor', 'Zelena', 'Prodaja', 1111.11), ('Marjana', 'Gvajava', 'Trgovina', 1303.45), ('Peter', 'Smodnik', 'Proizvodnja', 1345.67), ('Jonas', 'Spanje', 'Računovodstvo', 1470.89), ('Damjan', 'Hoja', 'Vzdrževanje', 1523.45), ('Ludvig', 'Kaki', 'Proizvodnja', 1678.89), ('Drago', 'Nič', 'Hišnik', 546.79), ('Viktor', 'Mandelj', 'Proizvodnja', 999.99);
Sedaj, ko je tabela narejena, si oglejmo nekaj primerov s ključno besedo ORDER BY in sicer si bomo najprej ogledali zapise v privzetem vrstnem redu. V privzetem vrstnem redu so zapisi tabele v naraščajočem vrstnem redu.
SELECT * FROM razvrsanje ORDER BY ime;
Za razvrščanje zapisov v padajočem vrstnem redu uporabimo ključno besedo DESC.
SELECT * FROM razvrsanje ORDER BY ime DESC;
Naslednji primer bo prikazal, kako lahko vsa imena tabele razvrscanje razvrsti po delu.
SELECT * FROM razvrsanje ORDER BY delo, ime;
Naslednji SQL stavek izbere vse vnose iz tabele razvrscanje, razvrščene v naraščajočem redu po stolpcu placa in padajočem po stolpcu delo.
SELECT * FROM razvrsanje ORDER BY placa ASC, delo DESC;