Welcome! Everything is fine.

[프로그래머스/Lv.3] 조건에 맞는 사용자와 총 거래금액 조회하기 - MySQL 본문

프로그래머스/SQL

[프로그래머스/Lv.3] 조건에 맞는 사용자와 총 거래금액 조회하기 - MySQL

개발곰발 2024. 3. 21.
728x90

📌 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

📌 제출한 오답

총금액이 70만 원 이상인 사람을 조회하려고 WHERE절에 조건을 적었지만 오류가 발생하였다.

알고보니 그룹별 집계된 결과 중 원하는 조건의 결과만 필터링 하려면 HAVING절을 사용해야 했다.

SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD B JOIN USED_GOODS_USER U ON B.WRITER_ID = U.USER_ID
WHERE B.STATUS = 'DONE' AND TOTAL_SALES >= 700000
GROUP BY B.WRITER_ID
ORDER BY TOTAL_SALES

📌 정답

SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD B JOIN USED_GOODS_USER U ON B.WRITER_ID = U.USER_ID
WHERE B.STATUS = 'DONE'
GROUP BY B.WRITER_ID
HAVING TOTAL_SALES >= 700000
ORDER BY TOTAL_SALES

📌 기억할 것

  • 일반 조건은 WHERE절에 적고, 그룹 함수를 포함한 조건은 HAVING절에 적는다.