Клаузата MYSQL GROUP BY се използва за събиране на данни от множество записи и групиране на резултата по една или повече колони. Обикновено се използва в оператор SELECT.
Можете също да използвате някои агрегатни функции като COUNT, SUM, MIN, MAX, AVG и т.н. в групираната колона.
Синтаксис:
SELECT expression1, expression2, ... expression_n, aggregate_function (expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
Параметри
израз1, израз2, ... израз_n: Той определя изразите, които не са капсулирани в агрегатна функция и трябва да бъдат включени в клаузата GROUP BY.
пр. потребителско име
агрегатна_функция: Той определя функция като SUM, COUNT, MIN, MAX или AVG и т.н. таблици: Той определя таблиците, откъдето искате да извлечете записите. Трябва да има поне една таблица, посочена в клаузата FROM.
КЪДЕ условия: Не е задължително. Той определя условията, които трябва да бъдат изпълнени, за да бъдат избрани записите.
(i) Клауза MySQL GROUP BY с функция COUNT
Помислете за таблица с име 'офицери', която има следните записи.
java колекция рамка
Сега нека преброим броя на повтарящите се градове в колоната адрес.
Изпълнете следната заявка:
SELECT address, COUNT(*) FROM officers GROUP BY address;
Изход:
(ii) Клауза MySQL GROUP BY с функция SUM
Нека вземем таблица 'служители', която има следните данни.
java за типове цикли
Сега следната заявка ще ГРУПИРА ПО примера с помощта на функцията SUM и ще върне emp_name и общото работно време на всеки служител.
Изпълнете следната заявка:
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
Изход:
(iii) Клауза MySQL GROUP BY с функция MIN
Следващият пример определя минималното работно време на служителите от таблицата 'employees'.
Изпълнете следната заявка:
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Изход:
(iv) Клауза MySQL GROUP BY с функция MAX
Следващият пример определя максималното работно време на служителите от таблицата 'employees'.
Изпълнете следната заявка:
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
Изход:
може ли Android да играе gamepigeon
(v) Клауза MySQL GROUP BY с функция AVG
Следващият пример посочва средното работно време на служителите от таблицата 'employees'.Изпълнете следната заявка:
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
Изход: