logo

MySQL GROUP BY klausul

MYSQL GROUP BY-klausulen brukes til å samle inn data fra flere poster og gruppere resultatet etter en eller flere kolonner. Det brukes vanligvis i en SELECT-setning.

Du kan også bruke noen aggregerte funksjoner som COUNT, SUM, MIN, MAX, AVG osv. i den grupperte kolonnen.

Syntaks:

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

Parametere

uttrykk1, uttrykk2, ... uttrykk_n: Den spesifiserer uttrykkene som ikke er innkapslet i en aggregert funksjon og må inkluderes i GROUP BY-leddet.

bash if-uttalelse

samlet_funksjon: Den spesifiserer en funksjon som SUM, COUNT, MIN, MAX eller AVG etc. tabeller: Den spesifiserer tabellene hvorfra du vil hente postene. Det må være minst én tabell oppført i FROM-klausulen.

WHERE forhold: Det er valgfritt. Den spesifiserer betingelsene som må være oppfylt for at postene skal velges.

(i) MySQL GROUP BY-klausul med COUNT-funksjon

Tenk på en tabell som heter 'offisers'-tabell, som har følgende poster.

hvordan konvertere str til int
MySQL-gruppe etter klausul 1

La oss nå telle gjentatte antall byer i kolonneadressen.

Utfør følgende spørring:

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

Produksjon:

MySQL-grupper etter klausul 2

(ii) MySQL GROUP BY-klausul med SUM-funksjon

La oss ta en tabell 'ansatte' med følgende data.

java utvalg sortering
MySQL-gruppe etter klausul 3

Nå vil følgende spørring GRUPPE ETTER eksemplet ved å bruke SUM-funksjonen og returnere emp_name og totale arbeidstimer for hver ansatt.

Utfør følgende spørring:

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

Produksjon:

MySQL-gruppe etter klausul 4

(iii) MySQL GROUP BY-klausul med MIN-funksjon

Følgende eksempel spesifiserer minimumsarbeidstiden til de ansatte fra tabellen 'ansatte'.

Utfør følgende spørring:

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

Produksjon:

MySQL-gruppe etter klausul 5

(iv) MySQL GROUP BY-klausul med MAX-funksjon

Følgende eksempel spesifiserer maksimal arbeidstid for de ansatte fra tabellen 'ansatte'.

Utfør følgende spørring:

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

Produksjon:

programmeringsmønstre java
MySQL-gruppe etter klausul 6

(v) MySQL GROUP BY-klausul med AVG-funksjon

Følgende eksempel spesifiserer gjennomsnittlig arbeidstid for de ansatte fra tabellen 'ansatte'.

Utfør følgende spørring:

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

Produksjon:

MySQL-grupper etter klausul 7