프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
다음은 중고 거래 게시판 정보를 담은 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문을 작성해주세요. 결과는 총거래금액을 기준으로 오름차순 정렬해주세요.
예시
USED_GOODS_BOARD
테이블이 다음과 같고
USED_GOODS_USER
테이블이 다음과 같을 때
SQL을 실행하면 다음과 같이 출력되어야 합니다.
풀이
기존 코드
SELECT b.USER_ID, b.NICKNAME, SUM(PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD AS a
INNER JOIN USED_GOODS_USER AS b
ON a.WRITER_ID = b.USER_ID
WHERE a.STATUS = 'DONE'
GROUP BY a.WRITER_ID
HAVING **TOTAL_SALES > 700000**
ORDER BY TOTAL_SALES
700000 이상인데 초과로 조건문을 잘 못 입력해서 실수하였다.
최종 코드
SELECT b.USER_ID, b.NICKNAME, SUM(PRICE) AS TOTAL_SALES
FROM USED_GOODS_BOARD AS a
INNER JOIN USED_GOODS_USER AS b
ON a.WRITER_ID = b.USER_ID
WHERE a.STATUS = 'DONE'
GROUP BY a.WRITER_ID
HAVING TOTAL_SALES >= 700000
ORDER BY TOTAL_SALES
'🤯 코딩테스트 > SQL' 카테고리의 다른 글
[SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.02.15 |
---|---|
[SQL] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2024.02.15 |
[SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.02.15 |
[SQL] 가격대 별 상품 개수 구하기 (0) | 2024.02.15 |
[SQL] 입양 시각 구하기(1) (0) | 2024.02.15 |