logo

ГРОУП БИ наспрам ОРДЕР БИ

Овај чланак објашњава комплетан преглед клаузуле ГРОУП БИ и ОРДЕР БИ. Углавном се користе за организовање података добијених СКЛ упитима. Разлика између ових клаузула је једно од најчешћих места за заглављивање приликом учења СКЛ . Главна разлика између њих је у томе клаузула ГРОУП БИ је применљива када желимо да користимо агрегатне функције за више од једног скупа редова. Клаузула ОРДЕР БИ је применљива када желимо да добијемо податке добијене упитом у редоследу сортирања . Пре поређења, прво ћемо знати ове СКЛ клаузуле.

ГРОУП БИ наспрам ОРДЕР БИ

ОРДЕР БИ Цлаусе

Клаузула ОРДЕР БИ се користи у СКЛ упитима за сортирање података које је упит вратио у растућем или опадајућем редоследу. Ако изоставимо редослед сортирања, он подразумевано сортира сумирани резултат у растућем редоследу. Клаузула ОРДЕР БИ, као и клаузула ГРОУП БИ, може се користити заједно са наредбом СЕЛЕЦТ. АСЦ означава растући ред, док ДЕСЦ означава силазни ред.

Следеће је синтакса за коришћење ОРДЕР БИ клаузуле у СКЛ исказу:

нп.хистограм
 SELECT expressions FROM tables [WHERE conditions] ORDER BY expression [ ASC | DESC ]; 

Хајде да разумемо како функционише клаузула ОРДЕР БИ уз помоћ следећег примера. Претпоставимо да имамо сто програмер који садржи следеће податке:

ГРОУП БИ наспрам ОРДЕР БИ

Видимо да се ови резултати не приказују на организован начин. Претпоставимо да желимо да организујемо резултате у растућем или опадајућем редоследу на основу државна колона . У том случају би нам била потребна команда ОРДЕР БИ да бисмо добили жељени резултат. То можемо урадити тако што ћемо извршити наредбу на следећи начин:

 mysql> SELECT D_name, D_state, D_salary FROM developers ORDER BY D_state ASC; 

Ево излаза где ћемо добити жељене резултате:

ГРОУП БИ наспрам ОРДЕР БИ

ГРОУП БИ Клаузула

Клаузула ГРОУП БИ се користи у СКЛ упитима за организовање података који имају исте вредности атрибута. Обично га користимо са наредбом СЕЛЕЦТ. Увек треба запамтити да клаузулу ГРОУП БИ морамо да ставимо после клаузуле ВХЕРЕ. Поред тога, темпо се поставља испред клаузуле ОРДЕР БИ.

Често можемо да користимо ову клаузулу у сарадњи са агрегатним функцијама као што су СУМ, АВГ, МИН, МАКС и ЦОУНТ да бисмо направили збирне извештаје из базе података. Важно је запамтити да се атрибут у овој клаузули мора појавити у клаузули СЕЛЕЦТ, а не под агрегатном функцијом. Ако то урадимо, упит би био нетачан. Као резултат, клаузула ГРОУП БИ се увек користи заједно са клаузулом СЕЛЕЦТ. Упит за клаузулу ГРОУП БИ је груписани упит и враћа један ред за сваки груписани објекат.

мени подешавања за андроид

Следеће је синтакса за коришћење ГРОУП БИ клаузуле у СКЛ исказу:

 SELECT column_name, function(column_name) FROM table_name WHERE condition GROUP BY column_name; 

Хајде да разумемо како функционише клаузула ГРОУП БИ уз помоћ примера. Овде ћемо то демонстрирати са истом табелом.

Претпоставимо да желимо да знамо просечна плата програмера у одређеној држави и организују резултате у опадајућем редоследу на основу колоне стања. У том случају би нам биле потребне и наредбе ГРОУП БИ и ОРДЕР БИ да бисмо добили жељени резултат. То можемо урадити тако што ћемо извршити наредбу на следећи начин:

 mysql> SELECT D_state, avg(D_salary) AS salary FROM developers GROUP BY D_state ORDER BY D_state DESC; 

Овај упит је првобитно формирао средњи резултат који је груписао стање. Следеће, тхе АВГ функција се изводи на свакој групи стања, затим сортирајте резултат у опадајућем редоследу и коначно, добићемо жељене резултате као што је приказано у наставку:

ГРОУП БИ наспрам ОРДЕР БИ

Кључне разлике између ГРОУП БИ и ОРДЕР БИ

Следе кључне разлике између клаузуле Групирај по и Наручи по:

  • Клаузула Гроуп Би се користи за груписање података на основу исте вредности у одређеној колони. Клаузула ОРДЕР БИ, с друге стране, сортира резултат и приказује га у растућем или опадајућем редоследу.
  • Обавезно је користити функцију агрегата да бисте користили Групу по. С друге стране, није обавезно да се користи агрегатна функција да бисте користили Ордер Би.
  • Атрибут не може бити под ГРОУП БИ изразом под агрегатном функцијом, док атрибут може бити под наредбом ОРДЕР БИ под агрегатном функцијом.
  • Група Би клаузула контролише презентацију торки што значи да се груписање врши на основу сличности између вредности атрибута реда. Насупрот томе, ОРДЕР БИ клаузула контролише презентацију колона што значи да се редослед или сортирање врши на основу вредности атрибута колоне било у растућем или опадајућем редоследу.
  • ГРОУП БИ се увек поставља после клаузуле ВХЕРЕ, али пре наредбе ОРДЕР БИ. С друге стране, ОРДЕР БИ се увек користи после израза ГРОУП БИ.

ГРОУП БИ у односу на ОРДЕР БИ упоредни графикон

Следећи графикон поређења објашњава њихове главне разлике на брз начин:

СН ГРУПА ОД ОРДЕР БИ
1. Користи се за груписање редова који имају исте вредности. Он сортира скуп резултата или у растућем или опадајућем редоследу.
2. Можда је дозвољено у изјави ЦРЕАТЕ ВИЕВ. Није дозвољено у изјави ЦРЕАТЕ ВИЕВ
3. Он контролише презентацију редова. Он контролише презентацију колона.
4. Атрибут не може бити под агрегатном функцијом под наредбом ГРОУП БИ. Атрибут може бити под агрегатном функцијом под наредбом ОРДЕР БИ.
5. Увек се користи испред ОРДЕР БИ клаузуле у СЕЛЕЦТ наредби. Увек се користи после клаузуле ГРОУП БИ у наредби СЕЛЕЦТ.
6. Обавезно је коришћење агрегатних функција у ГРОУП БИ. Није обавезно користити агрегатне функције у ОРДЕР БИ.
7. Овде се груписање врши на основу сличности између вредности атрибута реда. Овде је скуп резултата сортиран на основу вредности атрибута колоне, било у растућем или опадајућем редоследу.

Закључак

Клаузуле ГРОУП БИ и ОРДЕР БИ упоређују се у овом чланку. Обе клаузуле су изузетно корисне карактеристике СКЛ базе података. Када желимо да формирамо групу редова, користимо клаузулу ГРОУП БИ. Ако желимо да организујемо податке у растућем или опадајућем редоследу на основу одређене колоне, користимо клаузулу ОРДЕР БИ. Они немају никакав однос јер се оба користе у две различите сврхе. Међутим, можемо их комбиновати да служе некој посебној сврси или их можемо користити појединачно у зависности од околности. Ове клаузуле можемо користити само са наредбом СЕЛЕЦТ.

цсс транзиција непрозирности