• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

질문!

23.01.02 00:32 작성 조회수 167

0

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

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

FROM employee

 

답변 1

답변을 작성해보세요.

0

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

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

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