CodeGym /행동 /SQL SELF /분석 함수 소개

분석 함수 소개

SQL SELF
레벨 59, 레슨 0
사용 가능

일단 쉬운 예시부터 시작해볼게. 네가 카페 사장이라고 상상해봐. 매일 손님들이 와서 주문을 하고, 넌 그 데이터를 기록하지. 시간이 좀 지나면 궁금해질 거야: 어떤 음료가 제일 인기 있지? 최근 3개월 동안 평균 결제 금액은 얼마였지? 요일별로 매출이 제일 높은 날은 언제지?

이런 질문들이 바로 분석에서 다루는 문제들이야. 분석 자체는 "데이터 더미"를 쓸모 있는 정보로 바꿔주는 거지. 그리고 데이터베이스 안에서 분석을 하는 건 마법이 아니라, 이런 질문에 답할 수 있게 해주는 도구 세트야.

분석은 보통 이런 문제들을 해결해:

  • 핵심 지표 분석 (예: 매출, 평균 결제 금액, 주문 수 등)
  • 리포트 만들기: 표, 그래프, 다이어그램 등
  • 트렌드 모니터링: 시간이 지나면서 지표가 어떻게 변하는지 보기
  • 데이터 비교 (예: 한 지역이랑 다른 지역 비교)

이런 게 있어야 근거 있는 비즈니스 결정을 내리거나, 프로세스를 최적화하거나, 심지어 미래 결과를 예측할 수도 있지.

분석에서 PL/pgSQL의 역할

이제 분석이 왜 필요한지 알았으니까, 이런 데 왜 PL/pgSQL이 좋은지 궁금할 거야. 그냥 데이터 Excel로 내보내서 계산하면 되는 거 아냐? 맞지?

PL/pgSQL로 할 수 있는 건:

  • 계산 자동화. 똑같은 작업을 매번 손으로 할 필요 없이 자동화할 수 있지.
  • 한쪽(서버)에서 대용량 데이터 처리. 서버에서 리포트를 만들어버리면, 클라이언트 앱으로 데이터 잔뜩 옮길 필요가 없어.
  • 최소한의 부하로 강력한 쿼리 만들기. 큰 테이블도 빠르고 효율적으로 다룰 수 있어.

예를 들어, 매일 자동으로 매출 리포트를 만들어서 테이블에 저장해두면, 직접 손으로 할 필요가 없지.

분석 자동화를 위한 프로시저 사용의 장점

수동으로 분석하는 과정:

  1. 데이터베이스에서 데이터 가져오기.
  2. 어딘가 표에 넣어서 처리하기.
  3. 결과 저장하기. PL/pgSQL로 자동화하면:
  4. 프로시저 한 번만 작성.
  5. 스케줄에 맞춰 실행.
  6. 결과만 즐기면 됨.

완전 실용성 레벨이 다르지? :)

분석 함수로 해결할 수 있는 문제 예시

분석 함수로 할 수 있는 몇 가지 문제를 소개할게. 이런 예시를 보면 분석 함수가 추상적인 게 아니라 진짜 유용한 도구라는 걸 알 수 있어.

핵심 지표 계산

핵심 지표는 비즈니스 상태를 평가하는 데 도움이 되는 값들이야. 예를 들면:

  • 평균 결제 금액: 고객 한 명이 평균적으로 얼마를 쓰는지
  • 특정 기간 동안의 전체 주문 수
  • 상품 카테고리별 매출

평균 결제 금액을 구하는 SQL 쿼리 예시:

SELECT 
    SUM(order_amount) / COUNT(*) AS average_order
FROM 
    orders
WHERE 
    order_date > CURRENT_DATE - INTERVAL '3 months';

시계열 및 트렌드 만들기

예를 들어, 일별로 매출이 어떻게 변하는지 알고 싶다고 해보자. 날짜별로 데이터를 집계해서 시계열을 만들 수 있어.

SELECT
    order_date, 
    SUM(order_amount) AS daily_sales
FROM 
    orders
GROUP BY 
    order_date
ORDER BY 
    order_date;

기간별 데이터 비교

이번엔 10월이랑 9월 매출을 비교하고 싶다고 해보자:

SELECT 
    EXTRACT(MONTH FROM order_date) AS month, 
    SUM(order_amount) AS total_sales
FROM 
    orders
WHERE 
    order_date BETWEEN '2023-09-01' AND '2023-10-31'
GROUP BY 
    EXTRACT(MONTH FROM order_date);

이런 식으로 하면 결론을 낼 수 있어: 두 달 사이에 뭐가 달라졌지? 왜 9월이 더 잘 됐지? 아니면 반대일 수도 있고?

실제 생활에서 어떻게 쓰일까?

실무에서는 분석이 이런 데 쓰여:

  1. 마케팅: 어떤 채널이 고객을 더 많이 데려오는지 파악
  2. 재무: 수익, 손실 계산 및 예측
  3. 소프트웨어 개발: 앱 성능 분석
  4. 게임 산업: 유저 행동 분석 및 개인화된 제안 만들기

이제 분석 함수가 왜 필요한지 알았으니까, 다음 강의에서는 윈도우 함수랑 집계 함수로 리포트 만드는 기술적인 부분을 파볼 거야. 그 전에 — 네가 분석해보고 싶은 지표가 뭐가 있을지 한번 생각해보고, 그게 네 프로젝트에 어떻게 도움이 될지 상상해봐!

2
과제
SQL SELF, 레벨 59, 레슨 0
잠금
월별 수익
월별 수익
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION