SQL 연습

[ SQL 연습 ] 조건에 맞는 사용자와 총 거래금액 조회하기.

hakstroy 2024. 3. 6. 10:30

테이블 설명

(1) 테이블 이름 : used_goods_board

테이블 속성

 : board_id --> 게시글 ID
 : writer_id --> 작성자 ID
 : title --> 게시글 제목
 : contents --> 게시글 내용
 : price --> 가격
 : created_date --> 작성일
 : status --> 거래상태
 : views --> 조회수

 

(2) 테이블 이름 : used_goods_user

테이블 속성

 : user_id --> 회원 ID
 : nickname --> 닉네임
 : city --> 시
 : street_address1 --> 도로명 주소
 : street_address2 --> 상세 주소
 : tlno --> 전화번호

문제 설명

다음은 중고 거래 게시판 정보를 담은 USED_GOODS_BOARD 테이블과 중고 거래 게시판 사용자 정보를 담은 USED_GOODS_USER 테이블입니다. USED_GOODS_BOARD 테이블은 다음과 같으며 BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS는 게시글 ID, 작성자 ID, 게시글 제목, 게시글 내용, 가격, 작성일, 거래상태, 조회수를 의미합니다.

USED_GOODS_USER 테이블은 다음과 같으며 USER_ID, NICKNAME, CITY, STREET_ADDRESS1, STREET_ADDRESS2, TLNO는 각각 회원 ID, 닉네임, 시, 도로명 주소, 상세 주소, 전화번호를 를 의미합니다.

문제

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

문제 풀이

#방법
select b.user_id, b.nickname, sum(a.price) as total_sales
from used_goods_board a inner join used_goods_user b
on a.writer_id = b.user_id
where a.status = 'DONE'
group by user_id, nickname
having sum(a.price) >= '700000'
order by total_sales asc
;

예시 및 나의 답안

예시 답안

나의 풀이 답안

 

 

#  group by 문제에 join을 사용해서 살짝 당황했지만!!! 나름 잘 헤쳐나갔다.. 

# 더 성장을..공부를..해야겠네요..핳