[프로그래머스, SQL] 조건에 맞는 사용자와 총 거래금액 조회하기

takeon·2024년 1월 4일
0

SQL

목록 보기
5/11
post-thumbnail

난이도: Lv. 3
https://school.programmers.co.kr/learn/courses/30/lessons/164668

🎨문제 설정

두 테이블 USED_GOODS_BOARDUSED_GOODS_USER가 존재한다.

USED_GOODS_BOARD

  • Columns: BOARD_ID, WRITER_ID, TITLE, CONTENTS, PRICE, CREATED_DATE, STATUS, VIEWS

USED_GOODS_USER

  • Columns: USER_ID, NICKNAME, CITY, STREET_ADDRESS1, STREET_ADDRESS2, TLNO

🎨문제

두 테이블에서 완료된 중고 거래의 총금액이 70만원 이상인 사람회원 ID, 닉네임, 총거래금액을 조회. 결과는 총거래금액 기준 오름차 정렬.

🎨문제 풀이

where, group by, having을 잘 활용해야 한다. 적용되는 순서는 where > group by > having이라는 것을 기억하고, 조건을 잘 읽어야 한다. 완료된 중고 거래의 총금액이 70만원 이상인 사람이므로 where문에서 완료된 거래들만 볼 수 있도록 설정하고, group by의 기준은 USER_ID로 잡는다. 이후 having에서 총금액이 70만원 이상인지를 확인한다.

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

🎨기억할 부분

  1. where, group by, having의 사용
    : where은 전체 데이터에 대해서 조건을 걸고, having은 그룹화 된 다음의 데이터들에 대해서 조건을 건다.

0개의 댓글