반응형
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
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > SQL' 카테고리의 다른 글
(MYSQL) - 프로그래머스 (코딩 테스트 연습 - GROUP BY) : 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2024.10.05 |
---|---|
(SQL) - LeetCode (easy) 1795. Rearrange Products Table (0) | 2024.08.07 |
(C++) - LeetCode (easy) 1633. Percentage of Users Attended a Contest (0) | 2024.05.16 |
(SQL) - LeetCode (easy) 1527. Patients With a Condition (0) | 2024.04.19 |
(SQL) - LeetCode (easy) 1507. Reformat Date (0) | 2024.04.13 |