logo

Klavzula MySQL GROUP BY

Klavzula MYSQL GROUP BY se uporablja za zbiranje podatkov iz več zapisov in združevanje rezultatov po enem ali več stolpcih. Običajno se uporablja v stavku SELECT.

V združenem stolpcu lahko uporabite tudi nekatere agregatne funkcije, kot so COUNT, SUM, MIN, MAX, AVG itd.

Sintaksa:

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

Parametri

izraz1, izraz2, ... izraz_n: Podaja izraze, ki niso enkapsulirani v agregatno funkcijo in morajo biti vključeni v klavzulo GROUP BY.

agregatna_funkcija: Določa funkcijo, kot so tabele SUM, COUNT, MIN, MAX ali AVG itd.: Določa tabele, iz katerih želite pridobiti zapise. V členu FROM mora biti navedena vsaj ena tabela.

KJE pogoji: To ni obvezno. Določa pogoje, ki morajo biti izpolnjeni, da so zapisi izbrani.

(i) Klavzula MySQL GROUP BY s funkcijo COUNT

Razmislite o tabeli z imenom 'tabela uradnikov', ki ima naslednje zapise.

MySQL skupina po klavzuli 1

Zdaj pa preštejmo ponavljajoče se število mest v naslovu stolpca.

Izvedite naslednjo poizvedbo:

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

Izhod:

c program za primerjavo nizov
MySQL skupina po klavzuli 2

(ii) Klavzula MySQL GROUP BY s funkcijo SUM

Vzemimo tabelo 'zaposleni', ki ima naslednje podatke.

Skupina MySQL po klavzuli 3

Zdaj bo naslednja poizvedba združila primer z uporabo funkcije SUM in vrnila emp_name in skupne delovne ure vsakega zaposlenega.

Izvedite naslednjo poizvedbo:

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

Izhod:

Skupina MySQL po klavzuli 4

(iii) Klavzula MySQL GROUP BY s funkcijo MIN

Naslednji primer podaja minimalni delovni čas zaposlenih iz tabele 'zaposleni'.

Izvedite naslednjo poizvedbo:

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

Izhod:

Skupina MySQL po klavzuli 5

(iv) Klavzula MySQL GROUP BY s funkcijo MAX

Naslednji primer določa najdaljši delovni čas zaposlenih iz tabele 'employees'.

Izvedite naslednjo poizvedbo:

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

Izhod:

Skupina MySQL po klavzuli 6

(v) Klavzula MySQL GROUP BY s funkcijo AVG

Naslednji primer podaja povprečne delovne ure zaposlenih iz tabele 'zaposleni'.

Izvedite naslednjo poizvedbo:

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

Izhod:

Skupina MySQL po klavzuli 7