ОРДЕР БИ у МиСКЛ: ДЕСЦ & амп; АСЦ упит са ПРИМЕРОМ

Преглед садржаја:

Anonim

Сортирање резултата

Коришћењем наредбе СЕЛЕЦТ, резултати су враћени истим редоследом када су записи додани у базу података. Ово је подразумевани редослед сортирања. У овом одељку ћемо погледати како можемо да сортирамо резултате упита. Сортирање је једноставно преуређивање резултата нашег упита на одређени начин. Сортирање се може извршити на једној колони или на више колона. То се може урадити на бројевима, стринговима као и типовима података датума.

Шта је ОРДЕР БИ у МиСКЛ-у?

МиСКЛ ОРДЕР БИ се користи заједно са СЕЛЕЦТ упитом за редовно сортирање података. Клаузула МиСКЛ ОРДЕР БИ користи се за сортирање скупова резултата упита у растућем или опадајућем редоследу.

SELECT statement… [WHERE condition | GROUP BY `field_name(s)` HAVING condition] ORDER BY `field_name(s)` [ASC | DESC];

ОВДЕ

  • „СЕЛЕЦТ статемент…“ је уобичајени упит за одабир
  • „|“ представља алтернативе
  • „[ВХЕРЕ услов | ГРОУП БИ` име_поља поља 'ХАВИНГ цондитион “ је опционални услов који се користи за филтрирање скупова резултата упита.
  • „ОРДЕР БИ“ врши сортирање скупа резултата упита
  • „[АСЦ | ДЕСЦ]“ је кључна реч која се користи за сортирање скупова резултата у растућем или опадајућем редоследу. Напомена АСЦ се користи као подразумевана вредност.

Шта су ДЕСЦ и АСЦ кључне речи?

АСЦ је кратка форма за узлазни

МиСКЛ ДЕСЦ је кратки образац за силазак

Користи се за сортирање резултата упита у стилу од врха до дна.

Користи се за сортирање резултата упита у стилу од дна до врха

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

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

Када радите са нумеричким типовима података, најниже вредности су приказане на врху листе.

Када радите са нумеричким типовима података, највише вредности су приказане на врху скупа резултата упита.

Када радите са типовима података низа, скуп резултата упита се сортира од оних који почињу словом А, па све до слова З.

Када се ради са типовима података низа, скуп резултата упита се сортира од оних који почињу словом З све до слова А.

И кључне речи СКЛ ДЕСЦ и АСЦ користе се заједно у вези са наредбом СЕЛЕЦТ и клаузулом МиСКЛ ОРДЕР БИ.

Синтакса ДЕСЦ и АСЦ

Кључна реч СКЛ ДЕСЦ за сортирање има следећу основну синтаксу.

SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC /DESC [LIMIT N]

ОВДЕ

  • СЕЛЕЦТ {ПољеНаме (а) | *} ФРОМ таблеНаме (с) је израз који садржи поља и табеле (е) из којих се добија скуп резултата.
  • [ВХЕРЕ услов] није обавезан, али се може користити за филтрирање података према датом услову.
  • НАРУЧИ ПО Назив поља (поља) је обавезно и поље је на којем ће се извршити сортирање. Кључна реч МиСКЛ ДЕСЦ одређује да сортирање треба да буде у опадајућем редоследу.
  • [ЛИМИТ] није обавезно, али се може користити за ограничавање броја резултата враћених из скупа резултата упита.

Примери:

Погледајмо сада практични пример -

SELECT * FROM members;

Извршавање горње скрипте у МиСКЛ радном окружењу против мифликдб даје нам следеће резултате приказане у наставку.

 
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553

Претпоставимо да одељење за маркетинг жели да се детаљи о члановима поређају у падајућем редоследу према датуму рођења. То ће им помоћи да благовремено пошаљу честитке за рођендан. Наведени списак можемо добити извршавањем упита као у наставку -

SELECT * FROM members ORDER BY date_of_birth DESC;

Извршавање горње скрипте у МиСКЛ радном окружењу против мифликдб даје нам следеће резултате приказане у наставку.

Исти упит у растућем редоследу

СЕЛЕЦТ * ФРОМ чланова НАРУЧИ ПО датуму_рођења АСЦ

Напомена: НУЛЛ вредности значе да нема вредности (не нула или празан низ). Посматрајте начин на који су сортирани.

Још примера

Размотримо следећу скрипту која наводи све записе чланова.

SELECT * FROM `members`;

Извршавање горње скрипте даје следеће резултате приказане у наставку.

 
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

Претпоставимо да желимо да добијемо листу која сортира резултат упита помоћу поља за пол, користили бисмо скрипту приказану доле.

SELECT * FROM `members` ORDER BY `gender`;
 
membership_number full_names gender date_of_birth physical_address postal_address contct_number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 NULL

Чланови „Женски“ су прво приказани, а следе „Мушки“ чланови, то је зато што када се користи клаузула ОРДЕР БИ ДЕСЦ без навођења АСЦ или МиСКЛ ДЕСЦ кључне речи, МиСКЛ је подразумевано сортирао резултат упита у растућем редоследу.

Погледајмо сада пример који врши сортирање помоћу два ступца ; прва се подразумевано сортира у растућем редоследу , док се друга колона сортира у опадајућем редоследу.

SELECT * FROM `members` ORDER BY `gender`,`date_of_birth` DESC;

Извршавање горње скрипте у МиСКЛ радном окружењу против мифликдб даје следеће резултате.

Колона рода је подразумевано сортирана у растућем редоследу, док је колона са датумом рођења експлицитно сортирана у опадајућем редоследу

Зашто можемо да користимо ДЕСЦ и АСЦ?

Претпоставимо да желимо да одштампамо историју плаћања за члана видеотеке како бисмо помогли у одговарању на упите са рецепције, не би ли било логичније да се исплате исписују у опадајућем хронолошком редоследу почев од недавне уплате до раније уплате?

ДЕСЦ у СКЛ-у је кључна реч која постаје корисна у таквим ситуацијама. Можемо написати упит којим ћемо сортирати листу у опадајућем редоследу користећи датум плаћања.

Претпоставимо да одељење за маркетинг жели да добије списак филмова по категоријама помоћу којих чланови могу да одлуче који ће филмови бити доступни у библиотеци приликом изнајмљивања филмова, не би ли било логичније погледати сортирање имена и наслова категорија филмова у растућем чланови могу брзо потражити информације са листе?

Кључна реч АСЦ добро дође у таквим ситуацијама; листу филмова можемо сортирати према називу категорије и наслову филма у растућем редоследу.

Резиме

  • Сортирање резултата упита је преуређивање редова враћених из скупа резултата упита у растућем или силазном редоследу.
  • Кључна реч ДЕСЦ у СКЛ-у се користи за сортирање резултата упита у опадајућем редоследу.
  • Кључна реч АСЦ користи се за сортирање резултата упита у растућем редоследу.
  • И ДЕСЦ и АСЦ раде заједно са кључном речи ОРДЕР БИ. Такође се могу користити у комбинацији са другим кључним речима као што су клаузула ВХЕРЕ и ЛИМИТ
  • Подразумевано за ОРДЕР БИ када ништа није изричито наведено је АСЦ.