• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

max 값을 정의할 때, SELECT를 통해서 한번 더 구해주는 이유가 궁금합니다.

21.06.20 17:55 작성 조회수 699

1

안녕하세요.

이번 강의 내용 중 문의드릴 내용이 있습니다.

having절 또는 where절에서 challenges_created의 최대값에 대해 정의를 하는 함수를 짤 때,

whrere challenges_created = max(challenges_created)가 아닌

whrere challenges_created = (SELECT max(challenges_created) FROM counter) 인 이유가 궁금합니다.

max값을 구할 때는 반드시 다시 서브쿼리를 통해 추출을 해야하는건지요?

답변 1

답변을 작성해보세요.

0

안녕하세요 김윤정님, 답변 드립니다.

WHERE절에서는 집계함수를 사용할 수 없고, HAVING 절에서는 집계함수를 사용할 수 있습니다.
따라서 서브쿼리를 사용하여 최대값을 불러오고, challenges_created 에서 같은 값을 찾는 방식으로 쿼리를 작성하였습니다. 본 내용과 관련한 링크를 첨부하니 참고해주세요 :)

https://stackoverflow.com/questions/3284409/use-mysql-sum-in-a-where-clause