본문 바로가기

코딩테스트/SQL

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

https://school.programmers.co.kr/learn/courses/30/lessons/164668

 

프로그래머스

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

programmers.co.kr

 

나의 방법

작성자 별 거래 완료된 전체 금액 계산 > 두 테이블 JOIN > 전체 금액이 70만원 이상인 사용자 찾기

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

 

다른 방법

두 테이블 JOIN > 작성자 별 거래 완료된 전체 금액 계산 > 전체 금액이 70만원 이상인 사용자 찾기

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