Oct 29, 2023

SQL SUM() i AVG() funkcije

SUM() (ZBIR()) funkcija se koristi za izračunavanje ukupnog zbirnog broja vrednosti u određenoj koloni, dok se AVG() (PROSEK()) funkcija koristi za izračunavanje prosečne vrednosti u toj koloni. Obe funkcije se često koriste za analizu numeričkih podataka.

Primer korišćenja SUM():

Korišćenje SUM() funkcije za izračunavanje ukupne vrednosti svih narudžbina.

    
    SELECT SUM(Iznos) AS UkupanIznos
    FROM Narudžbine;
    
    

Ovaj upit će izračunati ukupan iznos svih narudžbina u tabeli "Narudžbine" i vratiti ga kao "UkupanIznos".

Primer korišćenja AVG():

Korišćenje AVG() funkcije za izračunavanje prosečne ocene proizvoda.

    
    SELECT AVG(Ocena) AS ProsečnaOcena
    FROM Proizvodi;
    
    

Ovaj upit će izračunati prosečnu ocenu svih proizvoda u tabeli "Proizvodi" i vratiti je kao "ProsečnaOcena".

SQL COUNT() funkcija

COUNT() (BROJ()) funkcija u SQL-u koristi se za brojanje broja redova u određenoj tabeli ili rezultatu upita. Ova funkcija omogućava vam da saznate koliko redova ispunjava određeni uslov ili koliko redova postoji u tabeli.

Primer korišćenja COUNT():

Korišćenje COUNT() funkcije za brojanje broja korisnika u tabeli "Korisnici".

    
    SELECT COUNT(*) AS BrojKorisnika
    FROM Korisnici;
    
    

Ovaj upit će izbrojati sve redove u tabeli "Korisnici" i vratiti broj korisnika.

SQL HAVING klauzula

HAVING (Imajući) je klauzula u SQL upitu koja se koristi zajedno sa "GROUP BY" kako bi se filtrirali rezultati grupisanih redova. Ova klauzula omogućava postavljanje uslova za grupisane podatke nakon što su grupisani i agregirani. "HAVING" se koristi za filtriranje grupa koje ispunjavaju određene uslove.

Primer korišćenja HAVING:

Grupisanje korisnika prema njihovim gradovima i izračunavanje ukupnog broja korisnika u svakom gradu, a zatim filtriranje gradova sa više od 10 korisnika.

    
    SELECT Grad, COUNT(*) AS BrojKorisnika
    FROM Korisnici
    GROUP BY Grad
    HAVING COUNT(*) > 10;
    
    

Ovaj upit će grupisati korisnike po njihovim gradovima, izračunati ukupan broj korisnika u svakom gradu i zatim filtrirati samo one gradove gde ima više od 10 korisnika.

Napomena: "HAVING" se koristi isključivo sa "GROUP BY" i koristi se za filtriranje grupisanih podataka na osnovu agregatnih funkcija (npr. COUNT, SUM) ili drugih uslova. To omogućava da se selektuju samo one grupe koje ispunjavaju određene kriterijume.