본문 바로가기

Algorithm/SQL

(SQL) - LeetCode (easy) 1731. The Number of Employees Which Report to Each Employee

반응형

https://leetcode.com/problems/the-number-of-employees-which-report-to-each-employee/

join을 사용해본 문제였습니다.

📕 풀이방법

📔 풀이과정

employee_id가 reports_to인 조건으로 자기 자신을 join하면 필요한 employee_id별 보고된 행 개수를 구할 수 있습니다.해당 가상 table의 employee_id, name, employee_id의 개수, 보고자의 나이 평균을 select해준 후 employee_id에 대한 오름차순으로 정렬해줍니다.


📕 Code

📔 ANSI SQL

select e1.employee_id, e1.name, count(e1.employee_id) as reports_count, round(avg(e2.age)) as average_age
from employees e1 
join employees e2 on e1.employee_id = e2.reports_to
group by e1.employee_id, e1.name
order by e1.employee_id

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.