logo

MySQL GROUP BY-clausule

De MYSQL GROUP BY-clausule wordt gebruikt om gegevens uit meerdere records te verzamelen en het resultaat te groeperen op een of meer kolommen. Het wordt doorgaans gebruikt in een SELECT-instructie.

U kunt ook enkele aggregatiefuncties gebruiken, zoals COUNT, SUM, MIN, MAX, AVG etc. in de gegroepeerde kolom.

Syntaxis:

 SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n; 

Parameters

expressie1, expressie2, ... expressie_n: Het specificeert de expressies die niet zijn ingekapseld in een aggregatiefunctie en moeten worden opgenomen in de GROUP BY-clausule.

geaggregeerde_functie: Het specificeert een functie zoals SUM, COUNT, MIN, MAX of AVG etc. tabellen: Het specificeert de tabellen, van waaruit u de records wilt ophalen. Er moet ten minste één tabel worden vermeld in de FROM-clausule.

Java-indexvan

WHERE voorwaarden: Het is optioneel. Het specificeert de voorwaarden waaraan moet worden voldaan voordat de records kunnen worden geselecteerd.

(i) MySQL GROUP BY-clausule met COUNT-functie

Beschouw een tabel met de naam 'officieren', met de volgende records.

MySQL-groep volgens clausule 1

Laten we nu het herhaalde aantal steden in het kolomadres tellen.

Voer de volgende query uit:

 SELECT address, COUNT(*) FROM officers GROUP BY address; 

Uitgang:

MySQL-groep volgens clausule 2

(ii) MySQL GROUP BY-clausule met SUM-functie

Laten we een tabel 'werknemers' nemen, met de volgende gegevens.

MySQL-groep volgens clausule 3

Nu zal de volgende query GROEPEREN OP het voorbeeld met behulp van de SUM-functie en de werknaam en het totale aantal werkuren van elke werknemer retourneren.

Voer de volgende query uit:

 SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name; 

Uitgang:

MySQL-groep volgens clausule 4

(iii) MySQL GROUP BY-clausule met MIN-functie

In het volgende voorbeeld worden de minimale werkuren gespecificeerd van de werknemers uit de tabel 'werknemers'.

Voer de volgende query uit:

 SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name; 

Uitgang:

MySQL-groep volgens clausule 5

(iv) MySQL GROUP BY-clausule met MAX-functie

In het volgende voorbeeld zijn de maximale werktijden gespecificeerd van de werknemers uit de tabel 'werknemers'.

Voer de volgende query uit:

 SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name; 

Uitgang:

MySQL-groep volgens clausule 6

(v) MySQL GROUP BY-clausule met AVG-functie

In het volgende voorbeeld worden de gemiddelde arbeidsuren van de werknemers uit de tabel 'werknemers' gespecificeerd.

Voer de volgende query uit:

 SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name; 

Uitgang:

MySQL-groep volgens clausule 7