[SQL] RFM구하기

hanahana·2023년 1월 17일
0

RFM이란 각각의 항목값을 기준으로 데이터를 관리하는 법이다.
Recency : 최근, 혹은 특정기간의 조건
Frequency : 빈도
Monetary : 규모가 얼마인지

정해진 기준은 없이 상황에 따라 맞는 기준을 새우면 된다.

특정날짜를 기준으로 컬럼 작성하기

select 
case 
	when c_date >= '2023-01-01' then 1  //특정컬럼이 2023.01.01 이후에 작성이 되었을때는 1
    else 0 //아닐때는 0을 반환한다.
    end
from tbl

IF문을 이용하여 Frequency계산하기

  • if문을 사용하여 원하는 조건을 계산한다.
    예를 들어 특정 컬럼의 값이 'a'일때는 '1' 그 외일때는 '0'을 반환한다면
select
	if (c_value = 'a',1,0) //조건이 a일때 1 아닐때는 0을 반환한다. >= <= 등의 비교연산자도 사용가능하다
from tbl

case문을 활용하여 특정조건 2개의 컬럼 숫자 비교하기

  • 위에 case문으로 만든 조건에서 조건에 해당하는 숫자와 해당하지 않는 숫자를 같이 출력해본다
select 
case 
	count(when c_date >= '2023-01-01' then 1 
    else null 
    end) as count_1//해당 조건을 ()로 묶어 count 하고 else를 null로 정한다
    , count(when c_date < '2023-01-01' then 1 
    else null
    end) as count_0 //위의 조건의 반대를 만들어주고 마찬가지로 count한다.
from tbl

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

profile
hello world

0개의 댓글