[LeetCode-SQL 50] 1731. The Number of Employees Which Report to Each Employee

코린이·2025년 6월 6일

SQL 문제 풀이 (MySQL)

목록 보기
76/96

❓ 문제

Employees
+-------------+----------+
| Column Name | Type     |
+-------------+----------+
| employee_id | int      |
| name        | varchar  |
| reports_to  | int      |
| age         | int      |
+-------------+----------+

employee_id는 이 테이블의 고유한 값을 가진 열입니다.
이 테이블에는 직원에 대한 정보와 해당 직원이 보고하는 관리자의 아이디가 포함되어 있습니다. 일부 직원은 누구에게도 보고하지 않습니다(reports_to는 null).

이 문제에서는 관리자를 자신에게 보고하는 다른 직원이 1명 이상 있는 직원으로 간주하겠습니다.

모든 관리자의 아이디와 이름, 직접 보고하는 직원의 수, 보고자의 평균 연령을 가장 가까운 정수로 반올림하여 보고하는 솔루션을 작성합니다.

employee_id를 기준으로 정렬된 결과 테이블을 반환합니다.

결과 형식은 다음 예와 같습니다.

자세한 문제 내용은 사이트 참고...


❗️ 문제 풀이

SELECT
    A.employee_id
    , A.name
    , COUNT(B.name) AS reports_count
    , ROUND(AVG(B.age),0) AS average_age
FROM Employees A JOIN Employees B
    ON A.employee_id = B.reports_to
GROUP BY A.employee_id, A.name
ORDER BY A.employee_id
;

🔗 Reference

https://leetcode.com/problems/the-number-of-employees-which-report-to-each-employee/description/?envType=study-plan-v2&envId=top-sql-50

0개의 댓글