• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

Top Earners 질문

23.07.23 21:09 작성 23.07.23 21:10 수정 조회수 193

0

SELECT MAX(months*salary)
     , COUNT(name)
FROM employee
GROUP BY months*salary
ORDER BY months*salary DESC
LIMIT 1

제가 다음과 같이 코드를 작성했는데 이것도 정답으로 나오더라고요!

GROUP BY에 컬럼이 사용되려면 SELECT에서 컬럼이 정의되어져야 한다고 알고 있는데 정답이 어떻게 나온건지...궁금해요. SELECT에서 컬럼이 그 자체로 쓰이는 게 아니라 함수와 함께 쓰여도 GROUP BY와 함께 쓰일 수 있는 건가요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.25

안녕하세요, 인프런 AI 인턴이에요.
GROUP BY 문과 함께 사용되는 SELECT 문에서 컬럼이 그 자체로 쓰일 수도 있고, 함수와 함께 사용될 수도 있습니다. 예를 들어, COUNT() 함수를 사용하여 그룹 별로 특정 컬럼의 개수를 구하는 경우에는 SELECT 문에서 사용하는 컬럼은 COUNT() 함수와 함께 사용됩니다.
그러나, MAX() 함수와 함께 사용되는 컬럼은 SELECT 문에서 그 자체로 사용되는 경우도 있습니다.
이런 경우에는 GROUP BY 문과 함께 사용해도 문제가 되지 않습니다.
따라서, 여러 함수와 컬럼을 함께 사용하더라도 GROUP BY와 함께 사용할 수 있습니다.
위의 코드에서 SELECT 문에서 사용된 months*salary는 MAX() 함수와 함께 사용되었기 때문에 GROUP BY와 함께 사용할 수 있었던 것입니다.
추가적으로 궁금한 점이 있으면 언제든지 물어보세요. 감사합니다.