https://school.programmers.co.kr/learn/courses/30/lessons/164668
SELECT BOARD.UID USER_ID, USERS.NICKNAME, BOARD.TOTAL_SALES
FROM USED_GOODS_USER USERS
RIGHT JOIN (SELECT WRITER_ID UID, SUM(PRICE) TOTAL_SALES
FROM USED_GOODS_BOARD
WHERE STATUS = 'DONE'
GROUP BY UID
HAVING TOTAL_SALES >= 700000) BOARD
ON USERS.USER_ID = BOARD.UID
ORDER BY BOARD.TOTAL_SALES;
풀이
- 완료된 중고 거래의 총 금액 >= 70 ( → 게시판을 USER_ID 기준으로 GROUP BY한 PRICE의 합)
- 회원 ID, 닉네임, 총 거래금액
1. USER_GOODS_BOARD 에서 USER_ID 기준으로 GROUP BY - SELECT > SUM(PRICE) - 단, 거래 완료 항목만 포함이므로 GROUP BY 전 WHERE 로 STATUS 거름 - HAVING SUM(PRICE) >= 70
2. 1번 결과를 USER_GOODS_USER 와 USER_ID 기준으로 JOIN - USER_ID, NICKNAME, TOTAL 출력 - USER_ID = WRITER_ID 기준
3. 총 금액 기준으로 오름차순 정렬
'Algorithm > Programmars' 카테고리의 다른 글
[SQL] 입양 시각 구하기(2) - 프로그래머스[Lv.4] (1) | 2024.01.29 |
---|---|
[SQL] 저자 별 카테고리 별 매출액 집계하기 - 프로그래머스[Lv.4] (0) | 2024.01.28 |
[SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 - 프로그래머스[Lv.3] (1) | 2024.01.27 |
[JAVA] 입국심사 - 프로그래머스[Lv.3] (0) | 2024.01.25 |
[SQL] 오프라인/온라인 판매 데이터 통합하기 - 프로그래머스[Lv.4] (1) | 2024.01.24 |