MYSQL GROUP BY klauzula tiek izmantota, lai savāktu datus no vairākiem ierakstiem un grupētu rezultātu pēc vienas vai vairākām kolonnām. To parasti izmanto SELECT priekšrakstā.
Grupētajā kolonnā varat izmantot arī dažas apkopojošas funkcijas, piemēram, COUNT, SUM, MIN, MAX, AVG utt.
Sintakse:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
Parametri
izteiksme1, izteiksme2, ... izteiksme_n: Tas norāda izteiksmes, kas nav iekapsulētas apkopotā funkcijā un ir jāiekļauj klauzulā GROUP BY.
bezmaksas ipconfig
aggregate_function: Tas norāda tādas funkcijas kā SUM, COUNT, MIN, MAX vai AVG utt. tabulas: Tas norāda tabulas, no kurām vēlaties izgūt ierakstus. Klauzulā FROM ir jābūt vismaz vienai tabulai.
KUR nosacījumi: Tas nav obligāti. Tajā ir norādīti nosacījumi, kas jāizpilda, lai ierakstus varētu atlasīt.
(i) MySQL GROUP BY klauzula ar funkciju COUNT
Apsveriet tabulu ar nosaukumu 'virsnieku' tabula, kurā ir šādi ieraksti.
Tagad saskaitīsim atkārtotu pilsētu skaitu kolonnas adresē.
Izpildiet šādu vaicājumu:
SELECT address, COUNT(*) FROM officers GROUP BY address;
Izvade:
(ii) MySQL GROUP BY klauzula ar SUM funkciju
Ņemsim tabulu “darbinieki” ar šādiem datiem.
Tagad šis vaicājums GRUPĒS PĒC piemēra, izmantojot funkciju SUM, un atgriezīs katra darbinieka emp_name un kopējo darba stundu skaitu.
Izpildiet šādu vaicājumu:
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
Izvade:
(iii) MySQL GROUP BY klauzula ar funkciju MIN
Nākamajā piemērā ir norādīts minimālais darbinieku darba laiks tabulā “darbinieki”.
Izpildiet šādu vaicājumu:
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Izvade:
(iv) MySQL GROUP BY klauzula ar funkciju MAX
Nākamajā piemērā ir norādīts darbinieku maksimālais darba laiks tabulā “darbinieki”.
lateksa saraksts
Izpildiet šādu vaicājumu:
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Izvade:
(v) MySQL GROUP BY klauzula ar AVG funkciju
Nākamajā piemērā ir norādīts darbinieku vidējais darba laiks no tabulas “darbinieki”.Izpildiet šādu vaicājumu:
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
Izvade: