블로그 포스팅: SQL로 최대 총 수입과 해당 직원 수 구하기
제목: SQL로 최대 총 수입과 해당 직원 수 구하는 방법
소개
이번 포스팅에서는 직원의 월급과 근무 개월 수를 이용해 총 수입을 계산하고, 그 중 최대 총 수입을 가진 직원 수를 구하는 SQL 쿼리를 다룹니다. SQL의 집계 함수와 서브쿼리를 활용하여 이 문제를 어떻게 해결할 수 있는지 알아보겠습니다.
문제 설명
직원 테이블에서 각 직원의 월급(salary)과 근무 개월 수(months)를 활용해 총 수입을 계산합니다. 총 수입은 salary * months로 정의됩니다. 이 총 수입 중에서 가장 높은 값인 최대 총 수입을 구하고, 그 최대 총 수입을 가진 직원이 몇 명인지 알아내는 것이 목표입니다.
테이블 예시
ColumnType
employee_id | Integer |
name | String |
months | Integer |
salary | Integer |
해결 방안
- 먼저 각 직원의 총 수입을 salary * months로 계산합니다.
- 그 중에서 최대 총 수입을 구합니다.
- 마지막으로, 최대 총 수입을 가진 직원이 몇 명인지 확인합니다.
SQL 쿼리
SELECT MAX(salary * months) AS max_total_earnings,
COUNT(*) AS employee_count
FROM Employee
WHERE salary * months = (
SELECT MAX(salary * months)
FROM Employee
);
쿼리 설명
- MAX(salary * months)를 사용해 각 직원의 총 수입 중 가장 큰 값을 구합니다.
- 서브쿼리를 이용해 최대 총 수입을 먼저 계산하고, 그 값에 해당하는 직원 수를 COUNT(*)로 셉니다.
- 이 쿼리의 결과는 최대 총 수입과 그 수입을 가진 직원 수를 공백으로 구분해 출력합니다.
결과 예시
가상의 테이블을 기준으로 쿼리를 실행하면, 최대 총 수입은 69952이고, 그 수입을 가진 직원은 1명일 것입니다.
69952 1
마무리
이번 포스팅에서는 SQL 쿼리를 사용해 직원들의 최대 총 수입과 그 수입을 가진 직원 수를 구하는 방법을 살펴보았습니다. SQL의 집계 함수와 서브쿼리를 효과적으로 활용하면 복잡한 문제도 쉽게 해결할 수 있다는 것을 확인할 수 있었습니다. 다음에도 더 흥미로운 SQL 문제와 해결 방법을 공유하겠습니다!
'SQL' 카테고리의 다른 글
Weather Observation Station 13 (0) | 2024.10.20 |
---|---|
Weather Observation Station 2 (1) | 2024.10.17 |
The Blunder (7) | 2024.10.10 |
Japan Population (0) | 2024.10.07 |
Revising Aggregations - Averages (1) | 2024.10.06 |