Како користити МиСКЛ ХАВИНГ клаузулу где је збир већи од прага

Kako Koristiti Miskl Having Klauzulu Gde Je Zbir Veci Od Praga



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

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







Како користити МиСКЛ ХАВИНГ клаузулу где је збир већи од прага

МиСКЛ ХАВИНГ клаузулу примењујете са клаузулом ГРОУП БИ. Његова синтакса је следећа:



СЕЛЕЦТ израз1, .. израз_н, функција_агрегата (израз) ФРОМ име_табеле ГРОУП БИ израз ХАВИНГ <услов>;

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



Што се тиче услова, он се примењује на збирне резултате где наведете праг који желите да проверите са условом. На пример, можете применити функцију СУМ() и проверити да ли израз достиже праг од 10. Разумећемо више о томе у датим примерима.





Да бисмо разумели како функционише клаузула ХАВИНГ, направимо пример базе података са којом ћемо радити. Нашу базу података називамо „регистар“.



Хајде да направимо и табелу под називом „радници“ која ће садржати наше различите колоне и типове података. Овде радимо са подацима радника као што су име, радно време, датум рада итд.

Провером описа наше табеле можемо потврдити да су све колоне успешно креиране.

Убацујемо вредности у нашу табелу. Имамо различите раднике који раде у различитим сатима и данима. Користећи ове податке, можемо применити клаузулу ХАВИНГ где збир премашује праг.

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

Ако имамо праг за укупан број сати као 7, извршавамо нашу команду на следећи начин:

СЕЛЕЦТ име, СУМ(сати) АС тотал_хоурс_пер_персон ФРОМ радника ГРУПА ПО имену ИМА збир(сати) > 7;

Извршавањем наредбе добијамо излаз који садржи два реда пошто су само два радника премашила праг који је наведен у клаузули ХАВИНГ.

Претпоставимо да желимо да класификујемо одељења да бисмо видели оне са радницима који раде у сатима већим од прага од 7 сати. Бирамо одељење, а затим користимо агрегатну функцију СУМ са сатима и групишемо редове користећи израз одељења.

Наша команда је следећа:

СЕЛЕЦТ одељење, СУМ(сати) АС тотал_хоурс_пер_департмент ФРОМ радника ГРУПА ПО одељење ИМА збир(сати) > 7;

Из резултата можемо да потврдимо да смо успели да филтрирамо редове да оставимо само оне са збиром сати већи од нашег прага.

Слично томе, ако желимо да филтрирамо датум рада са највећим бројем радних радника да премаши праг од 10 сати, бирамо израз радног датума. Затим користимо функцију СУМ са сатима и групишемо редове користећи датум рада.

Команда је следећа:

СЕЛЕЦТ радни датум, СУМ(сати) КАО највећи_радни_сати ОД радника ГРУПА ПО датуму рада ХАВИНГ збир(сати) > 10;

Након извршења команде, резултати показују да само један радни датум има збир укупних сати који премашују праг:

Закључак

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