728x90
코드 힌트
- 거래 완료된 기록만 조회:
- WHERE STATUS = 'DONE' 조건을 사용하여 거래가 완료된 상품들만 조회하고, 미완료된 거래는 제외합니다.
- 거래가 완료된 상태만 합산하여 총 판매 금액을 계산합니다.
- 사용자별 판매 금액 계산:
- GROUP BY U.USER_ID, U.NICKNAME를 사용하여 각 사용자별로 판매한 금액을 합산합니다.
- 이때, SUM(B.PRICE)를 통해 각 사용자가 완료한 거래들의 총 판매 금액을 구합니다.
- 판매 금액 필터링:
- HAVING SUM(B.PRICE) >= 700000 조건을 사용하여 700,000원 이상의 판매 금액을 달성한 사용자만 결과에 포함시킵니다.
- HAVING은 집계 함수 이후의 필터링에 사용됩니다.
- 총 판매 금액에 따른 정렬:
- ORDER BY TOTAL_SALES로 결과를 총 판매 금액 순서로 오름차순 정렬합니다.
정답은 더보기 클릭
더보기
더보기
SELECT U.USER_ID, U.NICKNAME, SUM(B.PRICE) AS TOTAL_SALES -- 사용자 ID, 닉네임, 총 판매 금액을 선택합니다.
FROM USED_GOODS_BOARD B -- 중고 상품 게시판 테이블을 참조합니다.
JOIN USED_GOODS_USER U -- 사용자 정보를 담고 있는 사용자 테이블과 JOIN을 수행합니다.
ON B.WRITER_ID = U.USER_ID -- 게시판 작성자 ID와 사용자 ID가 일치하는 행들을 연결합니다.
WHERE STATUS = 'DONE' -- 거래 상태가 완료된 ('DONE') 레코드만 필터링합니다.
GROUP BY U.USER_ID, U.NICKNAME -- 사용자 ID와 닉네임을 기준으로 그룹화하여 사용자별 총 판매 금액을 집계합니다.
HAVING SUM(B.PRICE) >= 700000 -- 총 판매 금액이 700,000 이상인 사용자만 선택합니다.
ORDER BY TOTAL_SALES -- 총 판매 금액을 기준으로 오름차순으로 정렬합니다.
728x90
'프로그래머스(Oracle)' 카테고리의 다른 글
[프로그래머스 (Oracle)] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (1) | 2024.10.02 |
---|---|
[프로그래머스 (Oracle)] 조건에 부합하는 중고거래 상태 조회하기 (0) | 2024.10.02 |
[프로그래머스 (Oracle)] 대여 기록이 존재하는 자동차 리스트 구하기 (4) | 2024.10.02 |
[프로그래머스 (Oracle)] 식품분류별 가장 비싼 식품의 정보 조회하기 (1) | 2024.10.01 |
[프로그래머스 (Oracle)] 보호소에서 중성화한 동물 (0) | 2024.10.01 |