728x90
반응형
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 문제
PRODUCT 테이블과 OFFLINE_SALE 테이블에서 상품코드 별 매출액(판매가 * 판매량) 합계를 출력하고, 매출액을 기준으로 내림차순 정렬하고 매출액이 같다면 상품코드를 기준으로 오름차순 정렬하라.
✅ SQL 해결 방법
SELECT p.PRODUCT_CODE, SUM(s.SALES_AMOUNT * p.PRICE) AS SALES FROM PRODUCT AS p
INNER JOIN OFFLINE_SALE AS s
ON p.PRODUCT_ID = s.PRODUCT_ID
GROUP BY p.PRODUCT_CODE
ORDER BY SALES DESC, p.PRODUCT_CODE;
✔️ INNER JOIN
- 두 테이블에서 일치하는 행들을 결합한다.
👉🏻 즉, PRODUCT와 OFFLINE_SALE 테이블에서 PRODUCT_ID 값이 동일한 행들만 결합되어 결과에 포함된다. - ON p.PRODUCT_ID = s.PRODUCT_ID으로 결합
✔️ GROUP BY
- PRODUCT_CODE별로 그룹화
✔️ ORDER BY
- 판매 금액을 내림차순으로 정렬 (DESC)
- 판매 금액이 동일한 경우, 제품 코드로 오름차순 정렬

728x90
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[JAVA][Programmers] 예상 대진표 ⭐️ (0) | 2025.03.12 |
---|---|
[JAVA][Programmers] 멀리 뛰기 ⭐️ (0) | 2025.03.12 |
[JAVA][Programmers] 다음 큰 숫자⭐️⭐️ (1) | 2025.03.08 |
[SQL][Programmers] 동물의 아이디와 이름 (1) | 2025.03.04 |
[SQL][Programmers] 여러 기준으로 정렬하기 (0) | 2025.03.04 |