https://school.programmers.co.kr/learn/courses/30/lessons/164668
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 완료된 중고 거래의 총금액이 70만 원 이상인 사람의 회원 ID, 닉네임, 총거래금액을 조회하는 SQL문을 작성해주세요. 결과는 총거래금액을 기준으로 오름차순 정렬해주세요.
첫 풀이
1. 서브 쿼리를 만들어 판매완료된 상품들을 추출한다
2. 게시판 테이블과 유저 테이블을 id 기준으로 join 한다
3. 아이디로 그룹화 하고 총 판매가격 기준을 설정한다
-- 코드를 입력하세요
SELECT u.USER_ID, u.NICKNAME, sum(PRICE) as TOTAL_SALES
from (select * from USED_GOODS_BOARD where STATUS='DONE') b
join USED_GOODS_USER u
on b.WRITER_ID=u.USER_ID
group by b.WRITER_ID
having sum(PRICE)>=700000
order by TOTAL_SALES
더 나은 답안
1. 서브쿼리를 안만들어도 where에 판매완료 조건을 설정할 수 있다
SELECT user_id,
nickname,
SUM(price) total_sales
FROM used_goods_board b
JOIN used_goods_user u
ON writer_id = user_id
WHERE status = "DONE"
GROUP BY user_id
HAVING total_sales >= 700000
ORDER BY total_sales
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 파이썬 문제풀이 - 숫자 변환하기 (0) | 2023.05.04 |
---|---|
[프로그래머스] SQL 문제풀이 - 오랜 기간 보호한 동물(1) (0) | 2023.04.28 |
[프로그래머스] 파이썬 문제풀이 - 프로세스 (0) | 2023.04.25 |
[프로그래머스] 파이썬, 자바 문제풀이 - [1차] 캐시 (0) | 2023.04.24 |
[프로그래머스] 파이썬 문제풀이 - n^2 배열 자르기 (0) | 2023.04.24 |
댓글