Постгрескл гроуп би

Postgreskl Group Bi



Постгрескл група по клаузули је карактеристика која се користи за обједињавање/комбиновање оних редова у табели који имају исте податке. Ова клаузула се углавном користи за уклањање дуплих података и одржавање истовремености. Кад год желимо да израчунамо збир или било који други агрегат као што је АВГ, итд., ова група по клаузула се увек користи пошто се у ПостгреСКЛ-у користе многе клаузуле. Али постоји хијерархија између сваке клаузуле.

ОД > ОДАКЛЕ > „ГРУПИ ПО“ > ИМАТИ > ОДАБИР > ДИСИНЦТ > ОРДЕР БИ > ЛИМИТ

Рад ПостгреСКЛ-а лежи у клаузули „где“ и „имати“.







Синтакса



СЕЛЕЦТ колона

ФРОМ думитабле

ГДЈЕ [услови]

ГРОУП БИ прва колона, друга колона..

ОРДЕР БИ прва колона, друга колона.. ;

Пример 1



Да бисмо разумели концепт групе према функцији, овде користимо пример. У табели путника се види да су код неких презимена иста. Свако име које је слично другом чини групу, а њихова уплата се додаје заједно уз свако исто име. Ово је разрађено у следећем примеру.





>> изаберите лнаме, СУМ (плаћање) од путника ГРОУП БИ лнаме;

Презиме путника се бира уз помоћ уграђене функције „СУМ“ која преузима колону „уплата“. И додајте уплату за оне људе који имају исто име. На пример, додаје се плата „Јавед“ и „саад“. Док се за „Малик“ и „Шамс“ помиње појединачно.



Слично, узмите у обзир сто „болница”. Желимо да групишемо град према узрасту. У овом примеру, један град постоји више пута у колони. Сваки град је груписан са истим именом града. Старости сваке групе града се додају и чине један ред.

Болница:

>> изаберите град, ЗБИР (старост) из болнице ГРУПА ПО граду;

Пример 2

Алтернативно, ако одаберемо презиме са ИД-ом из табеле путника, резултанта ће бити друга табела. Јер када групишемо обе колоне заједно, приказаће се име сваког путника јер је ИД за сваког путника, чак и ако има заједничко презиме, другачији. Сума се обрачунава у посебној колони, али се уплата сваког путника наводи испред његовог имена јер се овде не врши груписање имена.

Ово је пример групе по клаузули са више колона. Јер када је више колона изабрано за груписање, резултујућа вредност се мења у поређењу са групом за једну табелу.

>> изаберите ид, лнаме, СУМ (плаћање) од путника ГРОУП БИ ид, лнаме;

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

Пример 3

Овај пример има услов придруживања и групу по клаузули. Пошто се користи „придруживање“, то значи да смо овде користили две табеле. Једно је „ставка“, а друго „поруџбине“.

Ставке:

Наруџбине:

Користили смо метод конкатенације (који се користи за спајање два стринга) да спојимо вредности две колоне табеле „ставки“ са „,“ и дамо колону заједно као „опис“. Није обавезно; можете их узети засебно. У овом упиту, кључна реч „УСИНГ“ идентификује конкретну колону из друге табеле. Адреса из табеле артикала се поклапа са колоном адресе у табели „поруџбине“. Ово се ради спајањем две табеле. Као и претходни примери, обе колоне ће бити изабране клаузулом ГРОУП БИ.

>> изаберите име || ‘,’ || категорија као Опис, адреса из унутрашњих спојева ставки Наруџбе КОРИШЋЕЊЕ (адреса) ГРОУП БИ адреса, Опис;

Можете приметити да ће бити изабрано 5 редова који имају адресу артикала која се подудара са адресом Поруџбине. И тада ће колона Опис бити формирана у складу са колоном адресе.

Слично, постоји још један пример повезивања са фактором старости у две табеле. Један је „путник“, а други „радник“. Повезивање је између имена и презимена. Оба ова имена су раздвојена размаком између два имена. Овде смо узели део радног стола.

Радник:

Упит ће функционисати тако да се тачка у којој се фнаме радника поклапа са путником, старост путника, приказује у колони старости.

>> изаберите фнаме || ‘ ‘ || путник.лнаме као пуно_име, путник.старост од путника ИННЕР придружи се радник УСИНГ (фнаме) ГРУПА ПО пуном_име, путник.старост ОРДЕР БИ путник.старост;

Формира се један ред. Пуно_име се креира спајањем две колоне са размаком и бира се адреса где се фнаме путника поклапа са фимеом радника.

Пример 4

Овај пример се бави коришћењем функције цоунт () за бројање ИД-ова табеле „итемс“. Ово је опет група по ИД-у табеле.

>> Изаберите ид, ЦОУНТ (ид) ФРОМ ставки ГРОУП БИ ид;

Редови у колони ид су подељени у групе. Свака група се рачуна у колони колико пута се појављује у колони. У резултујућој табели креира се нова колона са именом „број“, а вредности броја се уписују овде испред сваке групе.

Ваш пгАдмин

Сада смо применили неке примере на страни контролне табле ПостгреСКЛ-а. Ови примери су на неки начин различити јер формирају међузбирни ред од оригиналне колоне када се било која од ставки разликује од других, тако да се вредност враћа као НУЛЛ.

Размотримо први пример; овде смо креирали име колоне „СВЕ“ која је комбиновала две колоне. Адреса и категорија. Колона „СВЕ“ заједно броји вредности у обе колоне. Колона адреса је груписана као „додај“, а колона категорије је одвојено груписана као „мачка“. Будући да се имена колона обе коришћене табеле могу међусобно подударати. Дакле, свакој колони дотичне табеле приступа одређени објекат.

Услов примењен на команду зависи од ИД-а и броја налога. Када су и ови ИД и бројеви налога исти, подаци се преузимају. Слично томе, за име се додаје и додатни услов.

>> СЕЛЕЦТ о.аддресс, цатегори, цоунт (*) АС “АЛЛ”, ГРОУПИНГ(о.аддресс) АС “адд” , ГРОУПИНГ (цатегори ) АС “цат” ФРОМ итемс И, ордерс о где је и.ордер_но = о. ордер_ид АНД и.аддресс= 'Лахоре' ГРОУП БИ ЦУБЕ (о.аддресс, цатегори) ОРДЕР БИ 1, 2;

За град Лахоре бира се једна категорија. Постоје 4 могућности. Понекад је играчка присутна, али не и адреса. И обрнуто. Али постоји време када су и категорија и адреса присутне.

Сада, ако променимо услов имена из табеле и променимо табелу са другим. „Итемс.аддресс” се замењује са „ордер.аддресс”, а резултат је другачији.

Закључак

Клаузула „Постгрескл гроуп би“ се користи за примену било ког агрегатног оператора на збирне податке. Овај чланак користи групу по клаузулу са функцијом бројања, спајањима и избором и груписањем више колона. Сигуран сам да ће овај водич бити најбоље средство за разумевање за читаоце.