# SELECT에서 출력값 사이 콤마(,) 빼먹지 않기
# CASE ~ END는 한 세트!
# 꼭 AS를 쓰지 않아도 별칭을 붙일 수 있다(하지만 가독성을 위해 AS를 작성하는 게 좋을 듯)
# IF(조건,참일 때 출력값, 거짓일 때 출력값) :조건이 하나인 경우 사용
# WHERE절에서는 별칭을 사용할 수 없음
-> SELECT에서 사용한 조건문 속 조건을 WHERE절에 입력하여 필터링
| SELECT IF(date >= '2023-05-01', 1, 0) AS recency ,IF(cnt_order >= 5 , 1, 0) AS frequency , COUNT(customer_id) AS customers FROM records WHERE date >= '2023-05-01' AND cnt_order >= 5 GROUP BY recency, frequency |
| recency | freqency | customers |
| 1 | 1 | 127 |
#HAVING을 사용해도 가능하지만 WHERE을 사용하는 속도가 빠름
(WHERE -> GROUP BY -> HAVING 순으로 작동하기 때문에)
# 문제 풀 때 질문 정리하기(구조화)
1. 구해야 하는 것
2. 필터 조건
3. 정렬 조건
*본 내용은 데이터리안 'SQL 데이터 분석 캠프 입문반' 을 수강하며 작성한 내용입니다.
'SQL > 개념 정리' 카테고리의 다른 글
| [SQL] JOIN (0) | 2023.05.31 |
|---|---|
| SQL로 EDA해보기 (0) | 2023.05.31 |
| [SQL] CASE를 활용한 데이터 피봇 (0) | 2023.05.18 |
| [SQL] CASE WHEN 조건문 (0) | 2023.05.18 |
| [SQL] GROUP BY (0) | 2023.05.09 |