출처
문제
우리는 직원의 총 수입을 월별 수입으로 정의합니다.근무했으며 최대 총 수입은 Employee 테이블 에 있는 모든 직원의 최대 총 수입이 됩니다 . 전체 직원의 최대 총 소득 과 최대 총 소득을 얻은 직원의 총 수를 구하는 쿼리를 작성하세요 . 그런 다음 이 값을 다음과 같이 인쇄합니다.공백으로 구분된 정수.
문제에 대한 해석
months X salary의 최대 금액과 해당 금액의 직원수
풀이(MYSQL)
select months*salary , count(name)
from EMPLOYEE e
where months*salary = (select max(months*salary)
from EMPLOYEE m )
group by months*salary
작동순서
💡SQL 실행 순서는 From -> Where -> Group by -> Having -> Select -> Order by ->결과반환
- FROM 절: EMPLOYEE테이블에서
- WHERE 절: months*salary와 months*salary의 최대값의 같은 경우를 필터링 하여
- GROUP BY 절: months*salary로 그룹화 한 경우
- SELECT 절: months*salary값과 해당( months*salary의 최대값) 이름의 개수를 출력
다른사람 풀이
SELECT months*salary
, count(*)
FROM Employee
GROUP BY months*salary
HAVING months*salary = (SELECT max(months*salary) FROM employee)
- months * salary의 그룹화를 먼저하고 서브쿼리를 통해 months * salary와 최대값이 같은 경우 필터링(having)
배운점
- 집계함수를 사용할 경우 집계된 값과 그에 상응하는 값을 출력하는 방법
'문제풀이 > SQL(My sql)' 카테고리의 다른 글
[문제풀이] Hacker Rank - Weather Observation Station 17 (0) | 2024.06.07 |
---|---|
[문제풀이] Hacker Rank - The Blunder (0) | 2024.06.07 |
[문제풀이] Hacker Rank - Occupations (0) | 2024.06.05 |
[문제풀이] Hacker Rank - Type of Triangle (0) | 2024.06.05 |
[문제풀이] Hacker Rank - 나머지 구하기 (0) | 2024.06.04 |