Growth Marketing/GM4

[TIL-260408] 멋쟁이사자처럼 부트캠프 그로스마케팅 4기 - 데이터분석 개론 day20

pamsyra 2026. 4. 8. 23:16
▼오늘 배운 사항들
1. Mysql - dbeaver 연동
2. 데이터셋을 이용한 sql 실습
- ad_campaigns / users / daily_revenue

 

Part 1. my sql - dbeaver 연동

  • my sql 가입 후 dbeaver과 연동
  • error 뜨면, allowpublickey true로 설정해보기

Part 2. 데이터셋을 이용한 SQL 실습

1. 테이블 만들기
2. 데이터 넣기 : Insert into
3. 데이터 정렬 : order by
4. 데이터 그룹 : group by
5. 데이터 필터링 : having

 

1. 테이블 만들기

  • 실무에서는 거의 데이터 조회 뿐, 데이터 넣기/수정은 쉽게 건드리는 영역 x
  • NOT NULL : 필수값
  • INT : 숫자
  • VARCHAR : 문자, 괄호 안은 최대 몇 글자까지 표현할지 규정
  • churned_user : 당일 해지한 유저(*신규 유저와 비교해 당일 순 증가수 파악에 용이 + 월별 데이터로 성장추이 확인 가능)
CREATE TABLE ad_campaigns (
    id          INT AUTO_INCREMENT PRIMARY KEY,  -- 자동으로 1, 2, 3... 증가
    campaign_name VARCHAR(100) NOT NULL,          -- 캠페인 이름 (필수)
    channel     VARCHAR(50)  NOT NULL,            -- 광고 채널 (필수)
    start_date  DATE         NOT NULL,            -- 시작일
    end_date    DATE         NOT NULL,            -- 종료일
    budget      INT          NOT NULL,            -- 예산 (원)
    impressions INT          DEFAULT 0,           -- 노출수 (기본값 0)
    clicks      INT          DEFAULT 0,           -- 클릭수 (기본값 0)
    conversions INT          DEFAULT 0            -- 전환수 (기본값 0)

 

2. 데이터 넣기 : insert into

  • 데이터 1개씩 넣을 수도 있고, 대량의 데이터를 한 번에 넣을 수도 있음
  • insurt시, 컬럼명 꼭 지정해주는 것이 좋음
  • 규칙 : 문자/날짜는 작은따옴표로 묶기, 숫자는 숫자만 써도 가능
  • id 안넣고 테이블명만 넣어도 auto increment해서 8개 알아서 들어감

 

3. 데이터 정렬 : order by

  • ASC : 오름차순 / DESC : 내림차순 (*미지정시 ASC 적용)
  • 실습
    - 예산이 높은 캠페인 순으로 보기
    - 전환수 낮은 캠페인 순으로 = 성과 낮은 캠페인 찾기 👀
    - 여러 기준으로 정렬
    - 날짜 정렬
    - LIMIT 사용 (상위 n개만 보기)
    - 최근 가입자 확인

4. 데이터 그룹 : group by

  • 그룹기준 컬럼
  • 집계 함수
    - count(*) : 행 개수
    - count(컬럼) : null 제외한 개수 세기
    - SUM() / AVG() / MAX() / MIN()
  • 실습
    - 채널별 캠페인 개수 확인
    - 채널별 총 예산 합계
    - 채널별 평균 전환수와 총 전환수
    - 채널별 클릭률(CTR) 계산
    - 구독 플랜별 사용자 수 집계
    - 지역별 사용자 수
    - 월별 매출 합계 

혼자 예제 응용하려다가 완벽하게 실패하고 - ★ 이러니까 잊진 않겠다 date format..
case when then 구문 - 이거 이거 이거 잘 기억하기

  • 결과 데이터에서 총 합계도 확인하고 싶어서 제미나이한테 물어봄 : with rollup 사용
  • 그런데 null값으로 인식하고 이름도 지정해줘야함

with rollup / infull / grouping

 

 

5. 데이터 필터링 : having

  • 그룹화된 데이터를 having을 이용해 필터링
  • 실습
    - [채널] 총 전환수 3000 이상인 채널 확인 <- where과 혼동 주의
    - [채널]  캠페인 2개 이상 진행한 채널 확인
    - [채널]  평균 CTR이 6% 이상인 채널 확인
    - WHERE + GROUP BY + HAVING 콜라보레이셔어어어언
    - [고객] 사용자가 3명 이상인 지역 확인
    - [매출] 월 매출 300만원 이상인 달 확인

having 활용법 확인!

 


[select 실행 순서] 매우중요

1. FROM      → 어느 테이블에서?
2. WHERE     → 어떤 행들만?
3. GROUP BY  → 어떻게 묶어서?
4. HAVING    → 묶은 결과 중 어떤 것만?
5. SELECT    → 어떤 컬럼을?
6. ORDER BY  → 어떤 순서로?
7. LIMIT     → 몇 개만?

 

 

더보기

강의는 잘 따라가는데, 문제만 보고 풀라고 하면 왜 코드가 생각이 안나는거지????????????????