블로그 포스팅: SQL로 최대 총 수입과 해당 직원 수 구하기

제목: SQL로 최대 총 수입과 해당 직원 수 구하는 방법

소개
이번 포스팅에서는 직원의 월급과 근무 개월 수를 이용해 총 수입을 계산하고, 그 중 최대 총 수입을 가진 직원 수를 구하는 SQL 쿼리를 다룹니다. SQL의 집계 함수와 서브쿼리를 활용하여 이 문제를 어떻게 해결할 수 있는지 알아보겠습니다.

 

문제 설명
직원 테이블에서 각 직원의 월급(salary)과 근무 개월 수(months)를 활용해 총 수입을 계산합니다. 총 수입은 salary * months로 정의됩니다. 이 총 수입 중에서 가장 높은 값인 최대 총 수입을 구하고, 그 최대 총 수입을 가진 직원이 몇 명인지 알아내는 것이 목표입니다.

 

테이블 예시

ColumnType

employee_id Integer
name String
months Integer
salary Integer

 

해결 방안

  1. 먼저 각 직원의 총 수입을 salary * months로 계산합니다.
  2. 그 중에서 최대 총 수입을 구합니다.
  3. 마지막으로, 최대 총 수입을 가진 직원이 몇 명인지 확인합니다.

 

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

+ Recent posts