OkBublewrap

조건에 맞는 사용자 정보 조회하기 본문

개발/SQL

조건에 맞는 사용자 정보 조회하기

옥뽁뽁 2023. 3. 12. 12:52

<문제>

USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성해주세요. 결과는 총거래금액을 기준으로 오름차순 정렬해주세요.

<예시>
USED_GOODS_BOARD 테이블이 다음과 같고

USER_ID NICKNAME CITY STREET_ADDRESS1 STREET_ADDRESS2 TLNO
cjfwls91 점심만금식 성남시 분당구 내정로 185 501호 01036344964
zkzkdh1 후후후 성남시 분당구 내정로 35 가동 1202호 01032777543
spdlqj12 크크큭 성남시 분당구 수내로 206 2019동 801호 01087234922
xlqpfh2 잉여킹 성남시 분당구 수내로 1 001-004 01064534911
dhfkzmf09 찐찐 성남시 분당구 수내로 13 A동 1107호 01053422914

USED_GOODS_USER  테이블이 다음과 같을 때

USER_ID NICKNAME CITY STREET_ADDRESS1 STREET_ADDRESS2 TLNO
cjfwls91 점심만금식 성남시 분당구 내정로 185 501호 01036344964
zkzkdh1 후후후 성남시 분당구 내정로 35 가동 1202호 01032777543
spdlqj12 크크큭 성남시 분당구 수내로 206 2019동 801호 01087234922
xlqpfh2 잉여킹 성남시 분당구 수내로 1 001-004 01064534911
dhfkzmf09 찐찐 성남시 분당구 수내로 13 A동 1107호 01053422914

SQL을 실행하면 다음과 같이 출력되어야 합니다.

USER_ID  NICKNAME TOTAL_SALES
zkzkdh1  후후후  700000

 

<풀이>

1. USED_GOODS_BOARD , USED_GOODS_USER  JOIN을 하고 조건절에 거래완료 인 것을 추출

2. USER_ID로 그룹화하고 SUM함수

3. 총거래금액을 기준으로 오름차순
 

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