1. 문제 풀이 아이디어
- 테이블을 결합하고 필요한 데이터를 필터링한 후, 그룹화와 집계를 수행한다.
- 이후 집계 결과를 기준으로 다시 필터링하고 정렬하여 문제를 해결한다.
2. 나의 정답 코드
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
u.user_id
HAVING
total_sales >= 700000
ORDER BY
total_sales;
3. 정리
- JOIN 절을 사용해
used_goods_user
테이블과used_goods_board
테이블을 결합한다.
- WHERE 절에서
status
가done
인 데이터를 필터링한다.
- GROUP BY 절로
user_id
를 기준으로 그룹화한 뒤,SUM
집계함수를 사용해price
의 총합을 구하고total_sales
라는 별칭을 부여한다.
- HAVING 절에서
total_sales
가 70만 이상인 데이터를 필터링한다.
- ORDER BY 절에서
total_sales
를 기준으로 오름차순 정렬한다.
Share article