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 절에는 테이블이 하나 이상 나열되어 있어야 합니다.
WHERE 조건: 선택 사항입니다. 레코드를 선택하기 위해 충족해야 하는 조건을 지정합니다.
(i) COUNT 함수가 포함된 MySQL GROUP BY 절
다음과 같은 레코드가 있는 'officers' 테이블이라는 테이블을 생각해 보세요.
이제 열 주소에 반복되는 도시의 개수를 세어보겠습니다.
다음 쿼리를 실행합니다.
SELECT address, COUNT(*) FROM officers GROUP BY address;
산출:
(ii) SUM 함수가 포함된 MySQL GROUP BY 절
다음 데이터가 있는 'employees' 테이블을 살펴보겠습니다.
이제 다음 쿼리는 SUM 함수를 사용하여 예제를 GROUP BY하고 각 직원의 emp_name 및 총 근무 시간을 반환합니다.
다음 쿼리를 실행합니다.
SELECT emp_name, SUM(working_hours) AS 'Total working hours' FROM employees GROUP BY emp_name;
산출:
(iii) MIN 함수가 포함된 MySQL GROUP BY 절
다음 예에서는 'employees' 테이블에서 직원의 최소 근무 시간을 지정합니다.
다음 쿼리를 실행합니다.
SELECT emp_name, MIN(working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
산출:
(iv) MAX 함수가 포함된 MySQL GROUP BY 절
다음 예에서는 'employees' 테이블에서 직원의 최대 근무 시간을 지정합니다.
다음 쿼리를 실행합니다.
SELECT emp_name, MAX (working_hours) AS 'Minimum working hour' FROM employees GROUP BY emp_name;
산출:
(v) AVG 기능이 포함된 MySQL GROUP BY 절
다음 예에서는 'employees' 테이블에서 직원의 평균 근무 시간을 지정합니다.안드로이드에서 차단된 번호를 확인하는 방법
다음 쿼리를 실행합니다.
SELECT emp_name, AVG(working_hours) AS 'Average working hour' FROM employees GROUP BY emp_name;
산출: