Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL이 반환한 결과 집합을 그룹으로 어떻게 나눌 수 있습니까?


SELECT 문에서 GROUP BY 절을 사용하여 수행할 수 있습니다. GROUP BY 절을 사용하여 열을 그룹화 기준으로 지정할 수 있습니다. 지정된 그룹화 기준으로 인해 특정 열에서 동일한 값을 가진 행은 단일 그룹으로 간주됩니다. 이런 식으로 MySQL SELECT 문에서 반환된 결과 집합은 그룹으로 나뉩니다.

예시

다음은 그것을 이해하는 좋은 예입니다 -

다음과 같이 '직원'이라는 테이블이 있습니다. -

mysql> Select * from employees;
+------+-------------+--------+------------+
| id   | designation | Salary | DoJ        |
+------+-------------+--------+------------+
| 100  | Asst.Prof   | 50000  | 2016-06-15 |
| 300  | Prof        | 85000  | 2010-05-18 |
| 250  | Asso.Prof   | 74000  | 2013-02-12 |
| 400  | Prof        | 90000  | 2009-05-19 |
| 200  | Asst.Prof   | 60000  | 2015-05-11 |
+------+-------------+--------+------------+
5 rows in set (0.00 sec)

이제 다음 스크립트를 사용하여 출력을 그룹으로 나눕니다.

mysql> select designation, count(*), AVG(salary) from employees group by designation;
+-------------+----------+-------------+
| designation | count(*) | AVG(salary) |
+-------------+----------+-------------+
| Asso.Prof   | 1        | 74000.0000  |
| Asst.Prof   | 2        | 55000.0000  |
| Prof        | 2        | 87500.0000  |
+-------------+----------+-------------+
3 rows in set (0.00 sec)

위 쿼리는 결과 집합을 숫자로 총 1개 평균 급여 74000, Asst.Prof 총 2개 숫자로 평균 급여 55000, Prof 총 2개 평균 급여 87500의 그룹으로 결과 집합을 반환합니다. .