링크 : https://school.programmers.co.kr/learn/courses/30/lessons/164668
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
- 소요시간 : 12분 47초
- 설계하기(접근방법)
1. 요구 사항 정리
1) 총 거래 금액 70만원 이상
2) 완료된 중고거래
2. 출력
컬럼
1) USER_ID
2) NICKNAME
3) TOTAL_SALES
-> 완료된 거래중에서
-> 같은 아이디로 그룹화 한후
-> 그룹화된 PRICE를 SUM()한다음
-> 70만 이상인 것들만 추출한다
추가 처리
1) TOTAL_SALES로 오름차순
- 코드(출력)
SELECT USER_ID, NICKNAME, SUM(PRICE) AS 'TOTAL_SALES'
FROM USED_GOODS_BOARD AS B
LEFT JOIN USED_GOODS_USER AS U
ON B.WRITER_ID = U.USER_ID
WHERE B.STATUS = 'DONE'
GROUP BY U.USER_ID
HAVING SUM(PRICE) >= 700000
ORDER BY TOTAL_SALES ASC
- 얻어갈 부분
1. 일반적으로 HAVING절에는 SUM, COUNT, AVG 등을 사용한다. 그룹화 된 값이기 때문에 특정 열의 값을 대입해서 비교하면 오류가 날 수 있기 때문에 WHERE절에서 처리를 하고 오자
'SQL' 카테고리의 다른 글
[SQL/GROUP BY] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 - 프로그래머스 (0) | 2024.02.13 |
---|---|
[SQL/String, Date] 대여 기록이 존재하는 자동차 리스트 구하기 - 프로그래머스 (0) | 2024.02.13 |
[SQL/String, Date] 조건에 맞는 사용자 정보 조회하기 - 프로그래머스 (0) | 2024.02.13 |
[SQL/String, Date] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 - 프로그래머스 (0) | 2024.02.13 |
[SQL/JOIN] 조건에 맞는 도서와 저자 리스트 출력하기 - 프로그래머스 (0) | 2024.02.13 |