-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
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값을 구할 때는 반드시 다시 서브쿼리를 통해 추출을 해야하는건지요?
답변을 작성해보세요.
0
송혜정
지식공유자2021.06.21
안녕하세요 김윤정님, 답변 드립니다.
WHERE절에서는 집계함수를 사용할 수 없고, HAVING 절에서는 집계함수를 사용할 수 있습니다.
따라서 서브쿼리를 사용하여 최대값을 불러오고, challenges_created 에서 같은 값을 찾는 방식으로 쿼리를 작성하였습니다. 본 내용과 관련한 링크를 첨부하니 참고해주세요 :)
https://stackoverflow.com/questions/3284409/use-mysql-sum-in-a-where-clause
답변 1