https://school.programmers.co.kr/learn/courses/30/lessons/164668
코딩테스트 연습 > GROUP BY > 조건에 맞는 사용자와 총 거래금액 조회하기
문제 분석
난이도: LEVEL3
문제 요구사항
USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성해주세요.
결과는 총거래금액을 기준으로 오름차순 정렬해주세요.
완료된 중고 거래 (STATUS = 'DONE')
먼저 CTE를 통해서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 정보를 구한다.
WITH USED_CTE AS (
SELECT WRITER_ID, SUM(PRICE) SUM_PRICE
FROM USED_GOODS_BOARD
GROUP BY WRITER_ID, STATUS
HAVING SUM_PRICE >= 700000 AND STATUS = 'DONE'
)
WRITER_ID, USER_ID ON 조건으로 CTE와 USED_GOODS_USER 조인하여 추가로 필요한 정보인 NICKNAME을 얻어낸다.
정답 코드
WITH USED_CTE AS (
SELECT WRITER_ID, SUM(PRICE) SUM_PRICE
FROM USED_GOODS_BOARD
GROUP BY WRITER_ID, STATUS
HAVING SUM_PRICE >= 700000 AND STATUS = 'DONE'
)
SELECT U.USER_ID, U.NICKNAME, C.SUM_PRICE TOTAL_SALES
FROM USED_CTE C JOIN USED_GOODS_USER U
ON C.WRITER_ID = U.USER_ID
ORDER BY 3
'Algorithm > Programmers SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.09.16 |
---|---|
[MySQL] 프로그래머스 대여 기록이 존재하는 자동차 리스트 구하기 (0) | 2024.09.16 |
[MySQL] 프로그래머스 조건에 맞는 사용자 정보 조회하기 (1) | 2024.09.15 |
[MySQL] 프로그래머스 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (1) | 2024.09.15 |
[MySQL] 프로그래머스 업그레이드 할 수 없는 아이템 구하기 (0) | 2024.09.15 |