Selectați grupul de secțiuni de comandă prin - gruparea înregistrărilor după câmpuri - limba de interogare sql

GROUP BY clauză

Dacă există o partiție GROUP BY SQL în expresia de masă. apoi următoarea este GROUP BY.

Dacă notăm cu R masa, care este rezultatul secțiunii precedente (și unde), secțiunea rezultat GROUP BY o partiție R într-o multitudine de grupuri de rânduri, care constă din numărul minim de grupe astfel încât, pentru fiecare coloană a GROUP BY lista secțiunii de coloane în toate rândurile fiecărui grup, care include mai mult de un rând, valorile acestei coloane sunt egale. Pentru a indica rezultatul clauzei GROUP BY, termenul "tabel grupat" este folosit în standard.

Dacă instrucțiunea SELECT conține o clauză GROUP BY (SELECT GROUP BY), lista de selecție poate conține numai următoarele tipuri de expresii:

  • Constante.
  • Funcții agregate.
  • USER, UID și SYSDATE.
  • Expression. corespunzătoare celor enumerate în clauza GROUP BY.
  • Expression. inclusiv expresiile de mai sus.

Exemplu 1. Calculați suma totală a achizițiilor pentru fiecare produs:

Fraza GROUP BY nu implică ordonarea liniilor. Pentru a ordona rezultatul din acest exemplu folosind codurile produselor, ar trebui să plasați stocul ORDER BY din fraza de lângă fraza GROUP BY.

Exemplul 2. Puteți utiliza grupările de date GROUP BY împreună cu o condiție. De exemplu, alegeți pentru fiecare produs achiziționat codul și achizițiile totale, cu excepția achizițiilor cumpărătorului cu codul 23:

Corzi care nu satisfac clauza WHERE. sunt excluse înainte de gruparea datelor.

Rândurile tabelului pot fi grupate prin orice combinație de câmpuri. Dacă câmpul, prin valorile căruia se efectuează gruparea, conține valori nedefinite, fiecare dintre ele generează un grup separat.

Să presupunem că există o sarcină pentru a calcula cantitatea unui produs. Furnizorul ne livrează produse la un anumit preț. Să calculăm cantitatea totală a fiecărui produs. Fraza GROUP BY ne va ajuta în acest sens. Rezultatul sarcinii va fi un tabel format din mai multe coloane. Livrările vor fi grupate prin PR. Layout-ul are loc în grupuri, care inițiază Group By SQL. Trebuie remarcat faptul că această expresie implică utilizarea expresiei Select, care la rândul ei definește o singură valoare pentru fiecare expresie a grupului format. Există trei cazuri, pentru o anumită expresie: face media aritmetică, devine o funcție SQL, ceea ce va reduce toate valorile sumei coloanei sau o altă valoare specificată, ca expresie poate fi o constantă. Rândurile tabelului nu trebuie strict grupate, ele pot fi grupate prin orice combinație de coloane din tabel. Trebuie avut în vedere faptul că ordonarea cererilor de PR este posibilă în cazul în care se solicită o cerere adecvată.