데이터리안 - SQL 데이터 분석캠프 - 3주차 : 피봇테이블

르네·2023년 10월 20일
0

SQL

목록 보기
45/63

본 내용은 데이터리안 'SQL 데이터 분석 캠프 입문반'을 수강하며 작성한 내용입니다.

연습문제 풀기

문제 - solvesql '지역별 주문의 특징'

나의 풀이

SELECT region AS Region
     , COUNT(DISTINCT CASE WHEN category = 'Furniture' THEN order_id END) AS 'Furniture'
     , COUNT(DISTINCT CASE WHEN category = 'Office Supplies' THEN order_id END) AS 'Office Supplies'
     , COUNT(DISTINCT CASE WHEN category = 'Technology' THEN order_id END) AS 'Technology'
FROM records
GROUP BY region
ORDER BY region

-> 계속 에러났었는데, 문제가 alias를 할 때, SQL에서는 열 별칭에 공백이나 특수 문자가 포함되는 경우, 해당 별칭을 따옴표로 감싸줘야 했다. 따라서 "Office Supplies"와 같은 별칭은 따옴표로 묶어주어야 한다.


문제 - solvesql '바겐 세일!'

나의 풀이

SELECT order_date
     , SUM(CASE WHEN discount >= 0.8 THEN quantity END) AS big_discount_items
     , SUM(quantity) AS all_items
FROM records
GROUP BY order_date
HAVING all_items >= 10
   AND  big_discount_items >= 1
ORDER BY big_discount_items DESC

- 선생님 풀이

SELECT order_date
     , SUM(CASE WHEN discount >= 0.8 THEN quantity ELSE 0 END) AS big_discount_items
     , SUM(quantity) AS all_items
FROM records
GROUP BY order_date
HAVING all_items >= 10
   AND  big_discount_items >= 1
ORDER BY big_discount_items DESC

: 내 풀이도 답으로 나온다. 그러나 선생님은 discount값이 0.8이 넘지 않는 경우, 판매개수를 0으로 명시적으로 작성해줬다.

profile
데이터분석 공부로그

0개의 댓글