조건에 맞는 사용자와 총 거래금액 조회하기

수이·2025년 3월 12일
0

🟢 코드카타 / SQL

목록 보기
43/81
post-thumbnail

USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성해주세요. 결과는 총거래금액을 기준으로 오름차순 정렬해주세요.
문제링크

조건정리
1. 완료된 중고 거래
2. 총 금액 70만원 이상
3. 회원ID, 닉네임, 총거래금액 조회
4. 총 거래금액 기준 오름차순 정렬

풀이

  1. 거래한 내역이 있는 회원들이므로 INNER JOIN
SELECT *
FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_USER u
ON b.WRITER_ID = u.USER_ID
  1. 완료된 거래건만 조회해야 하므로 조건 추가
SELECT *
FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_USER u
ON b.WRITER_ID = u.USER_ID
WHERE b.STATUS = 'DONE'
  1. 회원ID, 닉네임, 거래금액 계산 + 그룹화
SELECT u.USER_ID,
       u.NICKNAME,
       SUM(b.price) AS TOTAL_SALES
FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_USER u
ON b.WRITER_ID = u.USER_ID
WHERE b.STATUS = 'DONE'
GROUP BY u.USER_ID, u.NICKNAME
  1. 총 거래금액 = 이미 그룹화된 목록에서 추가 조건을 걸고 싶은 것이므로 HAVING사용 + 정렬하면 끝
SELECT u.USER_ID,
       u.NICKNAME,
       SUM(b.price) AS TOTAL_SALES
FROM USED_GOODS_BOARD b
INNER JOIN USED_GOODS_USER u
ON b.WRITER_ID = u.USER_ID
WHERE b.STATUS = 'DONE'
GROUP BY u.USER_ID, u.NICKNAME
HAVING SUM(b.PRICE) >= 700000
ORDER BY TOTAL_SALES

0개의 댓글

관련 채용 정보