Klauzula MYSQL GROUP BY sa používa na zhromažďovanie údajov z viacerých záznamov a zoskupovanie výsledkov podľa jedného alebo viacerých stĺpcov. Vo všeobecnosti sa používa v príkaze SELECT.
V zoskupenom stĺpci môžete použiť aj niektoré súhrnné funkcie ako COUNT, SUM, MIN, MAX, AVG atď.
Syntax:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
Parametre
výraz1, výraz2, ... výraz_n: Špecifikuje výrazy, ktoré nie sú zapuzdrené v rámci agregačnej funkcie a musia byť zahrnuté v klauzule GROUP BY.
agregovaná_funkcia: Určuje funkciu, ako sú tabuľky SUM, COUNT, MIN, MAX alebo AVG atď.: Určuje tabuľky, z ktorých chcete získať záznamy. V klauzule FROM musí byť uvedená aspoň jedna tabuľka.
KDE podmienky: Je to voliteľné. Špecifikuje podmienky, ktoré musia byť splnené pre výber záznamov.
int na reťazec v jazyku Java
(i) Klauzula MySQL GROUP BY s funkciou COUNT
Uvažujme o tabuľke s názvom „tabuľka dôstojníkov“ s nasledujúcimi záznamami.
Teraz spočítajme opakujúci sa počet miest v stĺpci adresa.
dĺžka java reťazca
Vykonajte nasledujúci dotaz:
SELECT address, COUNT(*) FROM officers GROUP BY address;
Výkon:
(ii) Klauzula MySQL GROUP BY s funkciou SUM
Zoberme si tabuľku „zamestnanci“ s nasledujúcimi údajmi.
Teraz nasledujúci dotaz zoskupí príklad pomocou funkcie SUM a vráti názov_emp_name a celkový pracovný čas každého zamestnanca.
Vykonajte nasledujúci dotaz:
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
Výkon:
(iii) Klauzula MySQL GROUP BY s funkciou MIN
Nasledujúci príklad špecifikuje minimálny pracovný čas zamestnancov z tabuľky „zamestnanci“.
Vykonajte nasledujúci dotaz:
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Výkon:
(iv) Klauzula MySQL GROUP BY s funkciou MAX
Nasledujúci príklad špecifikuje maximálny pracovný čas zamestnancov z tabuľky „zamestnanci“.
vymazať posledný commit git
Vykonajte nasledujúci dotaz:
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Výkon:
(v) Klauzula MySQL GROUP BY s funkciou AVG
Nasledujúci príklad špecifikuje priemerný pracovný čas zamestnancov z tabuľky „zamestnanci“.Vykonajte nasledujúci dotaz:
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
Výkon: