Facebook iconTwitter icon

Nachádzate sa tu

Domov

08. Access GROUP BY

V nadväznosti na predchádzajúci tutoriál si Querry postupne rozšírime o rôzne pohľady resp. úrovne detailu v tabuľke. V predošlom príklade sme vyrátali tržby na úrovni celej spoločnosti, v tomto článku sa postupne zameriame na rôzne detaily, kde začneme rokom.  Úlohou je teda zobraziť prehľad tržieb spločnosti v jednotlivých rokoch.

Na to aby sme to dokázali urobiť použijeme GROUP BY. Ku už nastavenému stĺpcu tržby vyberieme stĺpec rok, a v riadku Total zvolíme GROUP BY. Za normálnych okolností sa rok 2012 a 2013 x opakuje v tabulke, GROUP BY vyberie unikáty zo stĺpca rok, teda raz rok 2012, raz 2013 a zo stĺpca trbžy postupne naratáva ich hodnoty. Keď je tržba z roku 2012, tak jej sa pripočíta ku 2012 a keď je z roku 2013 tak ku 2013. Najlepšie si to ukážeme na konkrétnom prípade.

Nasledujúci obrázok ukazuje podstatu GROUP BY  na výsledku. 

Tabuľka v ľavo predstavuje dáta tak, ako sú v databáze, teda v najväčšom detaile, pričom tabuľka v pravo ukazuje vyrátané tržby rozdelené po jednotlivých rokoch.

Ďalej si môžeme pridať úroveň regiónu. V tomto prípade si pre prehľadnosť zoradíme výstup prostredníctvom Sort (ORDER BY) podľa roku vzostupne, a podľa regiónu zostupne. 

Vždy keď mame v selekte agregačnú funkciu ako napr. SUM (suma), AVG (priemer) atd., musíme zadať GROUP BY, čím špecifikujeme na akú úroveň detailu chceme túto sumu alebo priemer vypočítať.

Takýmto spôsobom vieme z tabulky vytiahnuť agregované hodnoty pre akúkoľvek úroveň detailu.Treba si však uvedomiť jednu vec. Pokiaľ chceme zrátať tržby na úrovni pobočky a v  máme v selekte predajcu, čo je väčší detail ako pobočka ,nebude to možné, nakoľko je to z pohľadu programu logický nezmysel. Predajcu budeme musieť zo selektu odstrániť, lebo by jednoducho povedané rozbíjal úroveň pobočky.

Doposiaľ sme si pracovali s jednou tabuľkou, na ktorej sme si ukázali základné querries, ktoré budeme používať aj naďalej.  Ako sme už však spomenuli  databáza predstavuje súhrn logicky usporiadaných tabuliek, prepájaním ktorých dokážeme efektívne pracovať s dátami. V nasledovných tutoriáloch sa zameriame na podstatu spájania tabuliek, ktoré budeme robiť prostredníctvom tzv JOIN príkazov.

Reklamné odkazy

kosime.sk
Kosenie trávy, čistenie pozemkov a záhradnícke práce