Functii de grup
        Opereaza asupra multimilor de
inregistrari  pentru a oferi  un rezultat per grup. Functiile
de grup recunoscute de server-ul Oracle  sunt: AVG, SUM, 
MAX, MIN, COUNT, STDDEV si VARIANCE. Acestea, de regula, 
intorc ca rezultat un tabel cu o singura  celula.
        Daca insa se va utiliza
clauza GROUP BY se va produce o divizare a randurilor din tabel
in  grupuri , functiile de grup vor fi aplicate fiecaruia din aceste
grupuri, iar rezultatul va contine un numar de randuri egal cu numarul
grupurilor formate.
        Toate functiile de grup
accepta  un singur argument care poate fi de tip CHAR, VARCHAR2, 
NUMBER sau DATE.
Toate functiile de grup, cu exceptia functiei COUNT(*) ignora valorile
null. 
Pentru a substitui valoarea null cu o valoare definita se va folosi
functia NVL.
Server-ul Oracle  sorteaza implicit  multimea rezultat 
ascendent dupa coloanele de grupare (cand se utilizeaza clauza GROUP BY).
Pentru a schimba aceasta ordonare implicita se poate folosi  clauza
ORDER
BY cu optiunea  DESC.
Forma generala pentru o interogare continind functii de grup este:
SELECT [coloane,] fct_grup (col)...
    FROM  tabel
    WHERE conditii
    GROUP BY  expresie de grupare
    HAVING conditii de grup
    ORDER BY col;
Exemple
SELECT AVG (salary), STDDEV(salary), COUNT(commission_pct), MAX (hire_date)
    FROM employees
    WHERE job_id LIKE 'SA%';
 
SELECT department_id, job_id, SUM (salary), COUNT(employee_id)
    FROM employees
    GROUP BY department_id, job_id
    HAVING SUM(salary)>12000;
 
SELECT department_id, job_id, SUM (salary), COUNT(employee_id)
    FROM employees
    GROUP BY department_id, job_id
    ORDER  BY  deparment_id desc;