GROUP BY는 데이터를 그룹화해서 요약할 때 사용하는 SQL 구문입니다. 이 쿼리는 실제 업무에서 데이터의 패턴이나 요약된 통계를 확인할 때 매우 유용합니다. 특히, 보고서를 작성하거나 데이터를 정리할 때 자주 사용되죠.
이번 포스팅에서는 GROUP BY를 활용하여 **”부서별 평균 급여”**를 계산하는 간단한 예제를 살펴보겠습니다.
쿼리 예제: 부서별 평균 급여 계산
예시 데이터
우선, 아래와 같은 직원 정보를 담고 있는 employees 테이블이 있다고 가정해봅시다.
employee_id | name | department | salary |
---|---|---|---|
1 | Alice | HR | 5000 |
2 | Bob | IT | 7000 |
3 | Carol | HR | 5500 |
4 | Dave | IT | 7200 |
5 | Eve | Sales | 6000 |
쿼리 작성
부서별로 평균 급여를 계산하는 쿼리는 다음과 같습니다:
SELECT
department,
AVG(salary) AS average_salary
FROM
employees
GROUP BY
department;
결과 데이터
위 쿼리를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
department | average_salary |
HR | 5250 |
IT | 7100 |
Sales | 6000 |
쿼리 설명
- SELECT: 보고 싶은 열을 선택합니다. 여기선 부서 이름(department)과 부서별 평균 급여(average_salary)를 확인합니다.
- AVG(): 특정 열의 평균값을 계산합니다. 여기선 salary 열의 평균값을 구했습니다.
- GROUP BY: 데이터를 특정 열 기준으로 그룹화합니다. 여기선 department 기준으로 그룹화했습니다.
이 조합 덕분에 각 부서의 평균 급여를 한눈에 확인할 수 있습니다.
실제 활용 사례
- 인사 관리: 부서별 급여 현황 파악
- 매출 분석: 카테고리별 평균 매출 계산
- 고객 분석: 지역별 평균 구매 금액 계산
추가 팁
- 그룹화된 데이터에서 다른 통계값(합계, 최대값, 최소값 등)이 필요하다면, SUM(), MAX(), MIN() 같은 집계 함수도 함께 사용할 수 있습니다.
예를 들어, 부서별 직원 수를 확인하려면 아래와 같이 작성하면 됩니다:
SELECT
department,
COUNT(*) AS employee_count
FROM
employees
GROUP BY
department;
이렇게 하면 각 부서에 몇 명의 직원이 있는지도 알 수 있겠죠.
GROUP BY는 데이터를 요약하거나 그룹화할 때 가장 기본적이면서도 강력한 기능을 제공합니다. 여러분의 업무에서도 유용하게 활용해보세요!
궁금한 점이나 추가로 알고 싶은 내용이 있다면 댓글로 남겨주세요. 😊
답글 남기기