MYSQL GROUP BY-satsen används för att samla in data från flera poster och gruppera resultatet efter en eller flera kolumner. Det används vanligtvis i en SELECT-sats.
Du kan också använda vissa aggregerade funktioner som COUNT, SUM, MIN, MAX, AVG etc. i den grupperade kolumnen.
scanner java
Syntax:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
Parametrar
expression1, expression2, ... expression_n: Den specificerar de uttryck som inte är inkapslade i en aggregatfunktion och måste inkluderas i GROUP BY-satsdelen.
aggregate_function: Den specificerar en funktion som SUM, COUNT, MIN, MAX eller AVG etc. tabeller: Den specificerar tabellerna varifrån du vill hämta posterna. Det måste finnas minst en tabell i FROM-satsen.
WHERE villkor: Det är valfritt. Den specificerar villkoren som måste vara uppfyllda för att posterna ska väljas.
(i) MySQL GROUP BY-klausul med COUNT-funktion
Tänk på en tabell som heter 'officertabell' med följande poster.
Nu, låt oss räkna upprepade antal städer i kolumnen adress.
Kör följande fråga:
SELECT address, COUNT(*) FROM officers GROUP BY address;
Produktion:
(ii) MySQL GROUP BY-klausul med SUM-funktion
Låt oss ta en tabell 'anställda' med följande data.
Nu kommer följande fråga att GRUPPERA EFTER exemplet med hjälp av SUM-funktionen och returnera emp_name och totala arbetstimmar för varje anställd.
Kör följande fråga:
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
Produktion:
(iii) MySQL GROUP BY-klausul med MIN-funktion
Följande exempel specificerar de anställdas minimiarbetstid från tabellen 'anställda'.
Kör följande fråga:
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Produktion:
(iv) MySQL GROUP BY-klausul med MAX-funktion
Följande exempel specificerar den maximala arbetstiden för de anställda från tabellen 'anställda'.
Kör följande fråga:
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Produktion:
(v) MySQL GROUP BY-klausul med AVG-funktion
Följande exempel anger den genomsnittliga arbetstiden för de anställda från tabellen 'anställda'.Kör följande fråga:
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
Produktion: