- ОРДЕР БИ је клаузула у СКЛ-у која се користи са СЕЛЕЦТ упитом за преузимање записа у растућем или опадајућем редоследу из табеле.
- Баш као што сортирамо целобројне и низове вредности ускладиштене у колони табела, на сличан начин можемо сортирати датуме ускладиштене у колони СКЛ табеле.
- Сви записи ће, подразумевано, бити сортирани у растућем редоследу. Да бисте сортирали записе у опадајућем редоследу, користи се кључна реч ДЕСЦ.
Хајде да видимо неколико практичних примера да бисмо јасније разумели овај концепт. Користићемо МиСКЛ базу података за писање свих упита.
Узмите у обзир да смо креирали табелу под називом запослени у МиСКЛ бази података са следећим подацима:
ИД | Име | Плата | Јоининг_Дате | ДОБ |
---|---|---|---|---|
1 | Рохит Море | 50000 | 2020-02-08 | 1991-01-28 18:06:08 |
2 | Кунал Мохит | 34000 | 2021-01-01 | 1990-05-15 19:10:00 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 1983-02-20 12:18:45 |
4 | Анант Десаи | 59000 | 2018-08-27 | 1978-06-29 15:45:13 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 1999-03-21 02:14:56 |
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 1998-08-02 13:00:01 |
Пример 1:
Напишите упит да бисте приказали све детаље о запосленима поређане узлазним редоследом према датуму њиховог рођења.
упит:
mysql> SELECT *FROM employees ORDER BY DOB;
Пошто смо хтели да сортирамо евиденцију по растућем редоследу датума рођења запослених, тако смо на колону 'ДОБ' применили клаузулу ОРДЕР БИ.
пете Давидсон
Добићете следећи излаз:
ИД | Име | Плата | Јоининг_Дате | ДОБ |
---|---|---|---|---|
4 | Анант Десаи | 59000 | 2018-08-27 | 1978-06-29 15:45:13 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 1983-02-20 12:18:45 |
2 | Кунал Мохит | 34000 | 2021-01-01 | 1990-05-15 19:10:00 |
1 | Рохит Море | 50000 | 2020-02-08 | 1991-01-28 18:06:08 |
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 1998-08-02 13:00:01 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 1999-03-21 02:14:56 |
Резултати добијени из горњег упита показују да се записи приказују према растућем редоследу ДОБ-а.
Пример 2:
Напишите упит да бисте приказали све детаље о запосленима распоређене у опадајућем редоследу према датумима њиховог придруживања.
упит:
mysql> SELECT *FROM employees ORDER BY Joining_Date DESC;
Пошто смо желели да сортирамо записе по опадајућем редоследу датума придруживања запослених, па смо применили клаузулу ОРДЕР БИ са кључном речи ДЕСЦ на колону 'Јоининг_Дате'.
Добићете следећи излаз:
ИД | Име | Плата | Јоининг_Дате | ДОБ |
---|---|---|---|---|
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 1998-08-02 13:00:01 |
2 | Кунал Мохит | 34000 | 2021-01-01 | 1990-05-15 19:10:00 |
1 | Рохит Море | 50000 | 2020-02-08 | 1991-01-28 18:06:08 |
4 | Анант Десаи | 59000 | 2018-08-27 | 1978-06-29 15:45:13 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 1983-02-20 12:18:45 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 1999-03-21 02:14:56 |
Резултати добијени из горњег упита показују да се записи приказују према опадајућем редоследу датума придруживања.
Пример 3:
Напишите упит да бисте приказали све детаље о запосленима поређане узлазним редоследом по години рођења.
упит:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y');
Пошто смо желели да евиденцију сортирамо по растућем редоследу године рођења запослених, применили смо клаузулу ОРДЕР БИ. Функција ДАТЕ_ФОРМАТ () се примењује на колону ДОБ са параметром '%И' за издвајање само године из 'ДОБ'.
Добићете следећи излаз:
ИД | Име | Плата | Јоининг_Дате | Година рођења |
---|---|---|---|---|
4 | Анант Десаи | 59000 | 2018-08-27 | 1978 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 1983 |
2 | Кунал Мохит | 34000 | 2021-01-01 | 1990 |
1 | Рохит Море | 50000 | 2020-02-08 | 1991 |
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 1998 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 1999 |
Резултати добијени из горњег упита показују да се евиденција приказује према растућем редоследу године рођења запосленог.
Пример 4:
Напишите упит да бисте приказали све детаље о запосленима поређане у опадајућем редоследу по сату њиховог рођења.
упит:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC;
Пошто смо хтели да сортирамо записе по опадајућем редоследу рођења запослених, па смо применили клаузулу ОРДЕР БИ са кључном речи ДЕСЦ. Функција ДАТЕ_ФОРМАТ () се примењује на колону ДОБ са параметром '%Х' да извуче само сат рођења из колоне 'ДОБ'.
Добићете следећи излаз:
ИД | Име | Плата | Јоининг_Дате | Хоур_Оф_Биртх |
---|---|---|---|---|
2 | Кунал Мохит | 34000 | 2021-01-01 | 19 |
1 | Рохит Море | 50000 | 2020-02-08 | 18 |
4 | Анант Десаи | 59000 | 2018-08-27 | петнаест |
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 13 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 12 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 02 |
Резултати добијени из горњег упита показују да се евиденција приказује према опадајућем редоследу сата рођења запосленог.
једнако метод јава
Пример 5:
Напишите упит да бисте приказали све детаље о запосленима поређане узлазним редоследом по години придруживања.
упит:
mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y');
Пошто смо хтели да сортирамо евиденцију по растућем редоследу године учлањења запослених, тако смо применили клаузулу ОРДЕР БИ. Функција ДАТЕ_ФОРМАТ () се примењује на колону Јоининг_Дате са параметром '%И' да би се издвојила само година из 'Јоининг_Дате'.
Добићете следећи излаз:
ИД | Име | Плата | Иеар_Оф_Јоининг | ДОБ |
---|---|---|---|---|
5 | Кришна Шарма | 48000 | 2010 | 1999-03-21 02:14:56 |
3 | Саурабх Јха | 61000 | 2015 | 1983-02-20 12:18:45 |
4 | Анант Десаи | 59000 | 2018 | 1978-06-29 15:45:13 |
1 | Рохит Море | 50000 | 2020 | 1991-01-28 18:06:08 |
2 | Кунал Мохит | 34000 | 2021 | 1990-05-15 19:10:00 |
6 | Бхавесх Јаин | 37000 | 2021 | 1998-08-02 13:00:01 |
Резултати добијени из горњег упита показују да се евиденција приказује према растућем редоследу године учлањења запослених.
Пример 6:
Напишите упит да бисте приказали све детаље о запосленима поређане у опадајућем редоследу према дану придруживања запослених.
упит:
mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC;
Пошто смо желели да сортирамо записе по опадајућем редоследу дана придруживања запослених, тако смо применили клаузулу ОРДЕР БИ са кључном речи ДЕСЦ. Функција ДАИ () се примењује на колону 'Јоининг_Дате' да издвоји само дан придруживања из Јоининг_Дате.
Добићете следећи излаз:
скл избор више табела
ИД | Име | Плата | Даи_Оф_Јоининг | ДОБ |
---|---|---|---|---|
4 | Анант Десаи | 59000 | 27 | 1978-06-29 15:45:13 |
5 | Кришна Шарма | 48000 | 23 | 1999-03-21 02:14:56 |
1 | Рохит Море | 50000 | 8 | 1991-01-28 18:06:08 |
6 | Бхавесх Јаин | 37000 | 3 | 1998-08-02 13:00:01 |
2 | Кунал Мохит | 34000 | 1 | 1990-05-15 19:10:00 |
3 | Саурабх Јха | 61000 | 1 | 1983-02-20 12:18:45 |
Резултати добијени из горњег упита показују да се евиденција приказује према опадајућем редоследу дана учлањења запослених.
Пример 7:
Напишите упит да бисте приказали све детаље о запосленима поређане узлазним редоследом према дану рођења запослених.
упит:
mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB);
Пошто смо желели да евиденцију сортирамо по растућем редоследу дана рођења запослених, применили смо клаузулу ОРДЕР БИ. Функција ДАИ () се примењује на колону 'ДОБ' да извуче само дан рођења из ДОБ-а.
Добићете следећи излаз:
ИД | Име | Плата | Иеар_Оф_Јоининг | Датум рођења |
---|---|---|---|---|
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 2 |
2 | Кунал Мохит | 34000 | 2021-01-01 | петнаест |
3 | Саурабх Јха | 61000 | 2015-05-01 | двадесет |
5 | Кришна Шарма | 48000 | 2010-10-23 | двадесет један |
1 | Рохит Море | 50000 | 2020-02-08 | 28 |
4 | Анант Десаи | 59000 | 2018-08-27 | 29 |
Резултати добијени из горњег упита показују да се евиденција приказује према растућем редоследу дана рођења запосленог.
Пример 8:
Напишите упит да бисте приказали све детаље о запосленима поређане узлазним редоследом по месецу рођења запосленог.
упит:
кључ тачке
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB);
ИД | Име | Плата | Јоининг_Дате | ДОБ |
---|---|---|---|---|
1 | Рохит Море | 50000 | 2020-02-08 | 1991-01-28 18:06:08 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 1983-02-20 12:18:45 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 1999-03-21 02:14:56 |
2 | Кунал Мохит | 34000 | 2021-01-01 | 1990-05-15 19:10:00 |
4 | Анант Десаи | 59000 | 2018-08-27 | 1978-06-29 15:45:13 |
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 1998-08-02 13:00:01 |
Резултати добијени из горњег упита показују да се евиденција приказује према растућем редоследу месеца рођења запосленог.
Пример 9:
Напишите упит да бисте приказали све детаље о запосленима поређане растућим редоследом према месецу запослења када се придружио.
упит:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date);
Пошто смо хтели да сортирамо евиденцију по растућем редоследу учлањеног месеца запослених, тако смо применили клаузулу ОРДЕР БИ. Функција МОНТХ () се примењује на колону 'Јоининг_Дате' да издвоји само месец придруживања из Јоининг_Дате.
Добићете следећи излаз:
ИД | Име | Плата | Јоининг_Дате | ДОБ |
---|---|---|---|---|
2 | Кунал Мохит | 34000 | 2021-01-01 | 1990-05-15 19:10:00 |
1 | Рохит Море | 50000 | 2020-02-08 | 1991-01-28 18:06:08 |
3 | Саурабх Јха | 61000 | 2015-05-01 | 1983-02-20 12:18:45 |
6 | Бхавесх Јаин | 37000 | 2021-07-03 | 1998-08-02 13:00:01 |
4 | Анант Десаи | 59000 | 2018-08-27 | 1978-06-29 15:45:13 |
5 | Кришна Шарма | 48000 | 2010-10-23 | 1999-03-21 02:14:56 |
Резултати добијени из горњег упита показују да се евиденција приказује према растућем редоследу месеца запослења у коме је запослен.