[SQL]Hackerrank - New Companies

문제 풀기

join과 group by 활용하는 문제.


select c.company_code, c.founder,
count(distinct m.lead_manager_code),count(distinct m.senior_manager_code),
count(distinct m.manager_code),
count(distinct m.employee_code)
from company c inner join employee m 
on c.company_code=m.company_code 
group by c.company_code,c.founder 
order by c.company_code ;

회고

  • unique한 값을 셀 때는 distinct를 사용하여 count
  • group by 할 때, 기준이 되는 두 칼럼이 각각 같은 key 값으로 대응되어도 상관없다. 중요한 것은 count, max 등의 연산이 들어간 칼럼을 제외한 칼럼들(여기서는 company_code 와 founder) 은 모두 group by 에 넣어 주어야 에러가 나지 않는다.

좋은 웹페이지 즐겨찾기