From 578d709c701068a2f5423348935c0c2b0b3de296 Mon Sep 17 00:00:00 2001 From: jjjes758 Date: Wed, 24 Jan 2024 21:16:06 +0900 Subject: [PATCH] 240124 --- _posts/study/SQL/2024-01-24-pro_groupby8.md | 130 ++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 _posts/study/SQL/2024-01-24-pro_groupby8.md diff --git a/_posts/study/SQL/2024-01-24-pro_groupby8.md b/_posts/study/SQL/2024-01-24-pro_groupby8.md new file mode 100644 index 0000000..f822060 --- /dev/null +++ b/_posts/study/SQL/2024-01-24-pro_groupby8.md @@ -0,0 +1,130 @@ +--- +layout: post +title: 프로그래머스 >> GROUP BY >> 저자 별 카테고리 별 매출액 집계하기 +subtitle: SQL +date: '2024-01-24 21:04:51 +0900' +categories: study +tags: SQL +comments: true +published: true +--- +## 프로그래머스 >> GROUP BY >> 저자 별 카테고리 별 매출액 집계하기(MySQL) + +

문제

+다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK), 저자 정보(AUTHOR) 테이블입니다.
+BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COLUMN NAMETYPENULLABLEDescription
BOOK_IDINTEGERFALSE도서 ID
CATEGORYVARCHAR(N)FALSE카테고리 (경제, 인문, 소설, 생활, 기술)
AUTHOR_IDINTEGERFALSE저자 ID
PRICEINTEGERFALSE판매가 (원)
PUBLISHED_DATEDATEFALSE출판일
+AUTHOR 테이블은 도서의 저자의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.
+ + + + + + + + + + + + + + + + + + + + + +
COLUMN NAMETYPENULLABLEDescription
AUTHOR_IDINTEGERFALSE저자 ID
AUTHOR_NAMEVARCHAR(N)FALSE저자명
+BOOK_SALES 테이블은 각 도서의 날짜 별 판매량 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
COLUMN NAMETYPENULLABLEDescription
BOOK_IDINTEGERFALSE도서 ID
SALES_DATEDATEFALSE판매일
SALESINTEGERFALSE판매량
+2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가) 을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요.
+결과는 저자 ID를 오름차순으로, 저자 ID가 같다면 카테고리를 내림차순 정렬해주세요.
+

코드

+```sql +-- 저자 별 카테고리 별 매출액 집계하기 +SELECT a.AUTHOR_ID,b.AUTHOR_NAME,a.CATEGORY, SUM((c.SALES*a.PRICE)) as TOTAL_SALES +FROM BOOK as a +JOIN AUTHOR as b ON a.AUTHOR_ID=b.AUTHOR_ID +JOIN BOOK_SALES as c ON a.BOOK_ID=c.BOOK_ID +WHERE c.SALES_DATE LIKE '2022-01-%' +GROUP BY a.AUTHOR_ID, a.CATEGORY +ORDER BY a.AUTHOR_ID, a.CATEGORY DESC +``` +

학습

+FROM 테이블 JOIN 테이블 JOIN 테이블 가능
+GROUP BY 했다면 집계함수를 활용하자
+ + + + + + +