인프런 커뮤니티 질문&답변

정민수님의 프로필 이미지
정민수

작성한 질문수

[백문이불여일타] 데이터 분석을 위한 중급 SQL

GROUP BY 해커랭크 문제풀이

질문!

작성

·

244

0

6분에 나오는 문제에서 아래와같이 하면 답이 안나오던데 왜 그런건가용? 뭐가 문제죠??

SELECT max(salary*months) , count(max(salary*months))

FROM employee

 

답변 1

0

지식공유자 J님의 프로필 이미지
지식공유자 J
지식공유자

적어주신 쿼리는 group by 없이는 동작하지 않으며, group by를 쓰더라도 이 방식으로는 문제의 정답을 구할 수 없습니다.

강의에서 소개한 order by와 limit을 이용한 쿼리가 아닌 다른 방법을 사용하시려면, 두 가지 쿼리가 필요합니다.
1. (salary * months) as earnings 를 기준으로 그룹을 나눠 각 그룹마다 데이터가 몇 개씩 들어있는 지를 구하는 쿼리
2. earnings 가 가장 큰 값인 그룹을 선택하는 쿼리

이렇게 하나의 쿼리 안에 또 다른 쿼리를 작성하는 것을 '서브쿼리'라 하고, 저희 커리큘럼에서는 고급반에서 다룹니다. 구글링을 통해서도 학습하실 수 있으니 참고 바랍니다.

정민수님의 프로필 이미지
정민수

작성한 질문수

질문하기