Sunteți pe pagina 1din 2

CAPITOLUL 6

FUNCII AGREGAT. GRUPAREA


TUPLURILOR

6.1. Funcii agregat


Funciile agregat (funciile de grup) grupeaz nregistrrile, genernd
un singur rezultat pentru grup. Comanda SELECT ce utilizeaz funcii
agregat trebuie s respecte sintaxa [14]:
SELECT [coloan,] funcie_grup(coloan);
FROM tabel;
[WHERE condiie;]
[ORDER BY coloan]
Exemple de funcii agregat folosite n limbajul SQL Oracle sunt
urmtoarele:


Funcia COUNT numr cte valori diferite de NULL are o coloan

specificat sau cte linii are tabelul; COUNT(*) returneaz numrul de linii
dintr-un tabel. Funcia COUNT(*) numr i valorile duplicate.


Funcia SUM calculeaz suma valorilor din coloana specificat ca

argument al funciei.


Funcia AVG calculeaz media aritmetic a valorilor din coloana

specificat ca argument al funciei.




Funcia MIN returneaz minimul valorilor din coloana specificat ca

argument al funciei.


Funcia MAX returneaz maximul valorilor din coloana specificat ca

argument al funciei.
71
Tudor N. L., SISTEME INFORMATICE SI GESTIUNEA BAZELOR DE DATE ORACLE, Editura
MATRIX ROM, Bucureti, ISBN 978-973-755-745-2, 2011, 109 pag.

Exemple:
- S se afieze valoarea maxim, valoarea medie, valoarea minim i
valoarea total a comenzilor:
SELECT avg( valoare) as Valoare_medie, max(valoare), min(valoare),
sum(valoare) as SUMA FROM comenzi;
- S se afieze data primei comenzi ncheiate i data celei mai vechi
comenzi ncheiate:
SELECT min(data), max(data) FROM comenzi;
- S se afieze numrul de comenzi a cror valoare >100 000:
SELECT count(*) Numar_comenzi
FROM comenzi
WHERE valoare > 100000;
- S se afieze numrul total de comenzi incheiate:
SELECT count(nrcom) Numar_Comenzi
FROM comenzi;
ncuibarea funciilor agregat (folosirea unei funcii agregat ca argument
pentru o alt funcie agregat) este permis n limbajul SQL Oracle:
Exemple: Afiai maximul dintre valorile medii ale comenzilor
ncheiate de fiecare agent:
Faza 1: SELECT avg(valoare), codagent
FROM comenzi
GROUP BY codagent;

Faza 2: SELECT max(avg(valoare))


FROM comenzi GROUP BY codagent;

72
Tudor N. L., SISTEME INFORMATICE SI GESTIUNEA BAZELOR DE DATE ORACLE, Editura
MATRIX ROM, Bucureti, ISBN 978-973-755-745-2, 2011, 109 pag.