코딩테스트/SQL

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

rlatotquf45 2024. 10. 6. 13:56
728x90
반응형

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

문제 요약

두 개의 테이블인 USED_GOODS_BOARDUSED_GOODS_USER를 사용하여 완료된 중고 거래의 총금액70만 원 이상인 사람회원 ID, 닉네임, 총거래금액을 조회하는 SQL 쿼리를 작성하는 것.

세부 조건:

  • USED_GOODS_BOARD 테이블에서 STATUS 컬럼이 '완료' 상태인 거래만 포함합니다.
  • USED_GOODS_BOARDWRITER_IDUSED_GOODS_USERUSER_ID와 연결됩니다.
  • 결과는 총거래금액70만 원 이상인 사람만 조회합니다.
  • 결과는 총거래금액을 기준으로 오름차순으로 정렬해야 합니다.

필요한 컬럼:

  • 회원 ID (USED_GOODS_USER.USER_ID)
  • 닉네임 (USED_GOODS_USER.NICKNAME)
  • 총 거래 금액 (SUM(USED_GOODS_BOARD.PRICE))

풀이 방법

이 문제는 두 테이블을 JOIN하여 거래 상태가 완료된 경우에 대한 총 금액을 계산하고, 그 금액이 70만 원 이상인 사용자만 조회하는 쿼리를 요구합니다.

정답 코드

SELECT user_id, nickname, sum(price) as total_sales
from used_goods_board as b
join used_goods_user as u
on  b.writer_id = u.user_id and b.status = 'done'
group by writer_id
having sum(price)>=700000
order by total_sales asc

 

728x90
반응형