저자 별 카테고리 별 매출액 집계하기 & 상품 별 오프라인 매출 구하기

는는·2023년 2월 3일
0

SQL - 문제 풀이

목록 보기
22/77

저자 별 카테고리 별 매출액 집계하기

https://school.programmers.co.kr/learn/courses/30/lessons/144856


book 테이블과 author 테이블과 book_sales 테이블을 모두 JOIN으로 합쳐줘야하는 문제입니다.

FROM 절에서 JOIN으로 3개의 데이터를 합쳐줍니다. 합쳐 줄때 공통 적으로 들어가는 칼럼 기준으로 합쳐줘야합니다.

SELECT *
FROM author JOIN book USING (author_id)
JOIN BOOK_SALES USING (book_id)

WHERE절 2022년 1월 데이터만 불러오고 저자별 , 카테고리 별 매출액을 구하기 위해 GROUP BY로 저자별, 카테고리 별로 묶어줍니다.

WHERE date_format(sales_date,'%Y-%m') = '2022-01'
GROUP BY author_id, category

지정해준 컬럼을 불러오고

저자 id 별로 오름차순, 카테고리별로 내림차순으로 정렬해주면 정답입니다.

ORDER BY author_id, category DESC

SUM 함수를 이용해 매출액을 집계해줍니다.

SELECT author_id, author_name, category, sum(sales * price) total_sales

구한 것 모두 합쳐주세요

정답

SELECT author_id, author_name, category, sum(sales * price) total_sales
FROM author JOIN book USING (author_id)
JOIN BOOK_SALES USING (book_id)
WHERE date_format(sales_date,'%Y-%m') = '2022-01'
GROUP BY author_id, category
ORDER BY author_id, category DESC

상품 별 오프라인 매출 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131533

두 테이블을 합쳐서,상품코드 별 매출액을 구하는 문제입니다.

SELECT product_code,sum(price * sales_amount) sales
FROM product join offline_sale USING(product_id)

SELECT 절에서 지정된 컬럼 상품 코드와 매출액의 합계를 입력해주고,

FROME 절에서 두 테이블을 join으로 합쳐줘야합니다. 공통 칼럼 상품 아이디 기준으로 합쳐주겠습니다.

이제 상품 코드 별로 그룹을 만들어주고, 매출액 순으로 내림차순, 제품 코드별로 오름차순해주면 정답입니다.

GROUP BY product_code
ORDER BY sales DESC ,product_code

정답

SELECT product_code,sum(price * sales_amount) sales
FROM product join offline_sale USING(product_id)
GROUP BY product_code
ORDER BY sales DESC ,product_code

0개의 댓글