New Companies
/*
1. print the company_code, founder name, total number of lead managers, total number of senior managers, total number of managers, and total number of employees
2. Order your output by ascending company_code.
3. The company_code is string
4. The tables may contain duplicate records.
*/
select c.company_code,
c.founder,
count(distinct e.lead_manager_code),
count(distinct e.senior_manager_code),
count(distinct e.manager_code),
count(distinct e.employee_code)
from company c
inner join employee e on e.company_code = c.company_code
group by c.company_code, c.founder
order by c.company_code;
중간에 있던 테이블은 쓸 필요가 없다.
중복으로 개수를 세는 것을 피하기 위해 distinct를 사용하고, group by로 묶어 각 회사의 직급별 사원 id의 수를 세준다.
그리고 원래의 company_code와 founder를 select하고 싶음으로 group by에 두 조건 모두 넣는다.
'섭섭의 공부 > SQL' 카테고리의 다른 글
[22.02.08] HackerRank 문제 풀이 (0) | 2022.02.08 |
---|---|
[22.02.03] HackerRank 문제 풀이 (0) | 2022.02.03 |
[22.01.15] HackerRank 문제 풀이 (0) | 2022.01.15 |
[22.01.12] HackerRank 문제 풀이 (0) | 2022.01.12 |
[HackerRank] Weather Observation Station 12 (0) | 2021.12.25 |