Hyrje në SQL

7.      FUNKSIONET E GRUPIT

Krahas përdorimit të shprehjeve, në SQL është e mundur të përdoren funksionet e agregimit të të dhënave siç janë: COUNT, SUM, AVG, MIN, and MAX, etj. Sintaksa e përgjithshme e përdorimit të këtyre funksioneve është

Për shembull, për të nxjerrë si rezultat cili ështëçmimi maksimal në një tabelë të dhënash me emrin “Porositë” që përmban katër fusha me emrat “Produkti”, “Qyteti”,  “Çmimi” dhe “Sasia”, përdoret kodi i mëposhtëm

Në qoftë se kërkohet që të nxirret sasia e produkteve të grupuara në total sipas llojit të produkteve, atëherë kjo realizohet me përdorimin e komandës SQL GROUP BY si vijon

Megjithatë, përdorimi i kësaj komande është i domosdoshëm në raste të tilla. Për shembull, në rast se kodi i shembullit të mësipërm nuk përmban komandën GROUP BY, rezultati do të jetë një kod gabimi. Është e lejueshme gjithashtu që në komandën SELECT të përdoret me shumë se një funksion agregimi. Për shembull, nxjerrja e sasive totale dhe çmimeve mesatare sipas llojit të produktit në shembullin e mësipërm, realizohet nëpërmjet kodit të mëposhtëm.

Në mënyrë që në tabelën e rezultateve të shfaqet kollona “Produkti”, është e këshillueshme që ajo te vendoset në komandën SELECT. Në qoftë se në komandën SELECT specifikohen fusha të tjera që nuk përputhen me ato të komandës GROUP BY, atëherë kodi SQL do të prodhojë një gabim.

Përdorimi i komandës GROUP BY është i mundur edhe kur disagregimi i të dhënave kërkon kombinimin e nëngrupeve që krijohen me më shumë se një fushë. Për shembull, në qoftë se kërkohet nxjerrja e shumës totale të produkteve të shitura dhe çmimi mesatar i tyre sipas llojit të produkteve dhe qytetet ku janë kryer shitjet, kodi i mëposhtëm duhet zhvilluar

Tabela e rezultateve përmban atë numër rekordesh që korrespondon me numrin e kombinimeve të grupeve që formohen me vlerat e fushave Qyteti dhe Produkti. Konkretisht, nëse janë në 10 qytete të ndryshme dhe 5 produkte të ndryshme, tabela e rezultateve do të prodhojë shumën e sasive dhe mesataren e çmimeve sipas qyteteve dhe produkteve dhe do të përmbajë 50 rekorde të ndryshme.

[cite]
Comments
All comments.
Comments