Напредак се не прати јер нисте улоговани.
Садржај

Сортирање (ORDER BY)

Често се јавља потреба да податке прикажемо у одређеном редоследу. Потребан редослед можемо да добијемо додавањем клаузуле ORDER BY у упит SELECT. У клаузули ORDER BY се наводи једна (или више) колона, на основу којих се врши сортирање врста резултата.

Приказати списак свих предмета, уређен по разреду у ком се предају.

SELECT *
FROM predmet
ORDER BY razred;

Извршавањем упита добија се следећи резултат:

id

naziv

razred

fond

1

Математика

1

4

2

Српски језик

1

4

3

Рачунарство и информатика

1

2

6

Физика

1

2

12

Енглески језик

1

2

Сортирање се, наравно, лако комбинује са пројекцијом и селекцијом. Такође, сортирање може да се примени и на типове података који нису бројеви (на датуме, ниске…).

Приказати имена, презимена и датуме рођења свих ученика одељења првог један, уређене неопадајуће по датуму рођења (од најстаријих до најмлађих ђака).

SELECT ime, prezime, datum_rodjenja
FROM ucenik
WHERE razred = 1 AND odeljenje = 1
ORDER BY datum_rodjenja;

Извршавањем упита добија се следећи резултат:

ime

prezime

datum_rodjenja

Милица

Јовановић

2006-04-03

Огњен

Стојановић

2006-04-23

Александра

Гајин

2006-04-24

Војин

Милошевић

2006-04-30

Ивана

Пејчев

2006-05-13

Овај упит можемо да прочитамо као:

ОДАБЕРИ име, презиме и датум рођења
ИЗ РЕДОВА табеле ученика
КОД КОЈИХ је разред једнак 1 и одељење једнако 1
У РЕДОСЛЕДУ датума рођења

Ако се жели обратан редослед сортирања (нерастући), тада се након имена колоне може навести DESC. Могуће је навести и ASC чиме се наглашава да је редослед неопадајући, међутим, пошто је тај редослед подразумеван, ово се често изоставља.

Приказати имена, презимена и датуме рођења свих ученика одељења I1 првог један, уређене нерастући по датуму рођења (од најмлађих до најстаријих ђака).

SELECT ime, prezime, datum_rodjenja
FROM ucenik
WHERE razred = 1 AND odeljenje = 1
ORDER BY datum_rodjenja DESC;

Извршавањем упита добија се следећи резултат:

ime

prezime

datum_rodjenja

Теодора

Вучковић

2007-02-25

Даница

Анђелковић

2007-02-11

Анита

Урошевић

2007-02-05

Елена

Ђурђевић

2007-01-16

Анђелија

Богдановић

2007-01-16

Ако је у клаузули ORDER BY наведено више колона, тада се поређење врши прво по првој колони, ако су вредности у првој колони једнаке, поређење се врши по другој колони, ако су вредности и у другој колони једнаке, поређење се врши по трећој колони итд.

Приказати све податке о ученицима у азбучном редоследу презимена и имена.

SELECT prezime, ime
FROM ucenik
ORDER BY prezime ASC, ime ASC;

Извршавањем упита добија се следећи резултат:

prezime

ime

Алексић

Магдалена

Анђелковић

Ана

Анђелковић

Даница

Анђелковић

Магдалена

Антић

Бранко

Пошто су у клаузули ORDER BY наведене две колоне prezime, па ime, сортирање се прво врши по презименима, а ако су презимена једнака, онда се врши по именима. ASC означава да се сортирање обе колоне врши у неопадајућем редоследу (и може да се изостави). Нагласимо да је за сортирање по азбучном реду јако важно да су у колонама ime и prezime подешене одговарајуће колационе секвенце.

Вежба

Наредних неколико упита напиши самостално. Решења можеш да тестираш овде, а можеш све задатке да урадиш и у систему SQLite Studio.

Прикажи све податке о предметима првог разреда у нерастућем редоследу фонда часова.



Прикажи све податке о изостанцима тако да су прво наведени неоправдани, па нерегулисани, па оправдани, при чему су у свакој категорији изостанци поређени по датуму када су направљени, а за оне направљене истог датума по часу на ком су направљени.



Тема

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.