Funcții SQL Group

Cuprins

Funcțiile de grup sunt încorporate în funcții SQL care operează pe grupuri de rânduri și returnează o valoare pentru întregul grup. Aceste funcții sunt: GRUP, AVÂND, COUNT, MAX, MIN, AVG, SUMĂ, DISTINCT.
Clauza A SE GRUPA CU utilizat împreună cu funcțiile de grup pentru a prelua date grupate în funcție de una sau mai multe coloane.
Subtotalurile pot fi obținute cu clauza GROUP BY. O interogare cu o clauză GROUP BY se numește interogare grupată deoarece grupează datele din tabelul sursă și produce un singur rând de rezumat pentru fiecare grup format. Coloanele indicate în GROUP BY se numesc coloane de grupare.
Să presupunem un tabel de vânzări cu următoarele câmpuri
Id | produs | pret | cantitate | id vânzător
Exemplu:
SELECTAȚI SUMA (preț) ca vânzări totale din vânzări
Obține suma vânzărilor totale care au fost realizate, valoarea este alocată vânzărilor totale
SELECTAȚI SUMA (vânzări) DIN GRUPUL DE VÂNZĂRI DUPĂ ID angajat
Se formează un grup pentru fiecare angajat și suma se calculează pe rândurile fiecărui grup. Exemplul anterior obține o listă cu suma vânzărilor fiecăruia dintre angajați.
Interogarea ar fi mai bună, incluzând în lista de selecție numele angajatului pentru a ști cărui angajat îi corespunde suma vânzărilor:
 SELEGEȚI angajați.nume, SUMĂ (preț) CA vânzări de către angajați din vânzări, angajați În cazul în care vânzări.idemployee = angajați.idemployee GRUPUL PE ideemployee

Numai:
valori constante
funcțiile coloanei
gruparea coloanelor (coloane care apar în clauza GROUP BY)
sau orice expresie bazată pe cele de mai sus.
Exemplu: Vrem dacă am avea sucursale și am dori să obținem suma vânzărilor angajaților grupați pe regiuni și orașe:
 SELECTAȚI SUMA (preț) ca vânzări pe ramuri DIN VÂNZĂRI GRUP PE REGIUNE, oraș

Este grupat mai întâi pe regiuni și în fiecare regiune după oraș.
Toate rândurile care au o valoare nulă în câmpul de grupare devin un singur grup. Adică, tratează valoarea nulă ca orice valoare în scopuri de grupare.
Clauza HAVING
Clauza HAVING ne permite să selectăm rânduri din tabel rezultate dintr-o interogare de grupare
Numai următoarele pot apărea în condiția de selecție:
valori constante
funcțiile coloanei
gruparea coloanelor (coloane care apar în clauza GROUP BY)
sau orice expresie bazată pe cele de mai sus.
Exemplu: Vrem să știm care angajați au vândut mai mult de 10.000 de euro
 SELECTAȚI * DIN GRUPUL DE VÂNZĂRI DE LA IDEMPLATATUL AVÂND AVG (preț)> 10000

Pentru a obține ceea ce este solicitat, trebuie să calculăm vânzările medii ale angajaților. Trebuie să grupăm angajații după id și să calculăm media pentru fiecare dintre vânzările pe angajat, în cele din urmă trebuie să selectăm din rezultat rândurile care au o medie mai mare peste 10.000.
Cum se execută o interogare de grup intern?
Mai întâi tabelul sursei de date este format conform clauzei FROM,
rândurile sunt selectate din sursa de date conform clauzei WHERE,
grupurile de rânduri sunt formate conform clauzei GROUP BY,
Pentru fiecare grup, se obține un rând în tabelul rezultat cu valorile care apar în clauzele GROUP BY, HAVING și în lista de selecție,
rândurile sunt selectate din tabelul rezultat conform clauzei HAVING,
coloanele care nu apar în lista de selecție sunt eliminate din tabelul rezultat,
rândurile din tabelul rezultat sunt ordonate conform clauzei ***** BY
O interogare devine o interogare de grup imediat ce apare GROUP BY, HAVING sau o funcție de coloană.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave