SQL, 데이터 분석!

SQL, 데이터 분석!

바로 보고 실습하는 SQL, 입문부터 활용까지!

16 그룹화(GROUP BY)

# 그룹화(GROUP BY) ## 미션 --- 기존 [마켓컬리 DB](https://cloudstudying.kr/lectures/510)를 가지고, 그룹화 문제를 실습하시오. #### DB 구조도 ![홍팍-SQL-마켓-컬리-DB-스키마-예](http://drive.google.com/thumbnail?export=view&sz=w960&id=1YGLGqFe1UIt2INNEtw4Lnzcws6L5vILV) ## 개념 --- #### 그룹화란 데이터를 특징별로 분류하여, 이를 기준으로 분석하는 기법이다. 단 몇 줄의 쿼리로, 수 많은 데이터를 분류 및 집계할 수 있다. ![홍팍-SQL-그룹화-개념-정의](http://drive.google.com/thumbnail?export=view&sz=w960&id=1Y_KQocHeJxDTIP8kKXli424Y8VLLOOzX) #### 그룹화 예 다음은 학생 테이블의 그룹화 예이다. 성별로 레코드를 분류하여, 각각의 데이터 수와 평균 신장을 계산한 것이다. ![홍팍-SQL-그룹화-분석-예](http://drive.google.com/thumbnail?export=view&sz=w960&id=1YaLOi2MMeG0kvYGKZHDyyvkEE7t2_Cfr) 이러한 그룹화는 GROUP BY 절과 집계함수의 조합으로 동작한다. 그룹화된 데이터의 SELECT절은 그 대상이 GROUP BY에 명시된 컬럼 또는 집계함수만 가능하다. ``` SELECT -- 3 gender, COUNT(*), AVG(height) FROM -- 1 students GROUP BY -- 2 gender ; ``` ## 실습 --- #### 1. 결제(payments) 테이블을 결제 방법에 따라 분류하고, 각각의 결제횟수를 조회하시오. <img height="110" src="http://drive.google.com/thumbnail? Export=view&sz=w960&id=1eSVOZSA9fpOHom7qv7A1JFrxYxTKUEDm" alt="홍팍-SQL-그룹화-GROUP-BY-결제-방법별-결제-횟수-분석" > #### 2. 상품(products) 테이블을 보관 타입에 따라 분류하고, 각각의 상품 개수와 평균 가격을 조회하시오. <img height="88" src="http://drive.google.com/thumbnail? Export=view&sz=w960&id=1eSmV83LhWgmBy9D4d2Ljnz_UgYQfAdPS" alt="홍팍-SQL-그룹화-GROUP-BY-보관-타입별-상품-개수-분석" > #### 3. 사용자(users)와 주문(orders) 테이블을 조인하고, 사용자 닉네임별 배송 완료 주문수를 조회하시오. <img height="110" src="http://drive.google.com/thumbnail?export=view&sz=w960&id=1eT879-ww9zi9CUwign4fhsjkWdOQ-fpd" alt="홍팍-SQL-그룹화-GROUP-BY-사용자-닉네임별-배송-완료-주문-수-분석" > ## 훈련 --- #### 🔥 상품별 총 주문 횟수와 주문 금액을 조회하시오. <img height="110" src="http://drive.google.com/thumbnail?export=view&sz=w960&id=1ePRa6NIerxiZ7SuaWyGOLuxTFFO94dGw" alt=""> #### 🔥 사용자 닉네임별 배송 완료 주문 수와 총 결제 금액을 조회하시오. <img height="110" src="http://drive.google.com/thumbnail?export=view&sz=w960&id=1eTJYL1Lvu0EvTOBqKMrsg6QiCHhZc3tI" alt="홍팍-SQL-그룹화-GROUP-BY-사용자-닉네임별-완료-주문수-총-결제-금액-분석">