본문 바로가기

데이터 분석

MySQL로 온라인 스토어 방문자 수 확인하기

반응형

안녕하세요, 더스퍼드입니다. 

 

MySQL을 실무에서 어떻게 사용할 수 있을지 온라인 스토어를 예시로 예상 문제를 풀어보도록 하겠습니다. 

 

 

 


방문자 수가 가장 많은 소스 구하기

아래 온라인 스토어 데이터 스키마가 있습니다. 해당 데이터 스키마를 기준으로 방문자가 가장 많은 소스를 찾아보도록 하겠습니다. 

 

아래 해당 데이터 스키마를 기준으로 작성한 쿼리가 있습니다. 쿼리를 하나씩 이해해 보도록 하겠습니다. 

 

 

 

1. FROM

해당 데이터 스키마를 보면 website_session_id를 사용하여 방문자 수를 구할 수 있을 것 같습니다. Session ID는 방문자의 ID입니다. website_session_id와 소스 종류 데이터 (utm_source)가 있는 website_sessions 테이블을 참조합니다.

 

2. WHERE

2012년 4월 12일 이전의 데이터만 보기 위해 created_at < '2012-04-12'라는 조건을 설정합니다. 

 

3. SELECT

참조하는 테이블에서 가져올 데이터 항목을 지정합니다. 소스 종류 (utm_source), 캠페인 종류 (utm_campaign), 그리고 관련 링크 (http_referer) 데이터를 가져옵니다. 마지막으로 가장 중요한 방문자 수를 계산하기 위해 website_session_id 데이터의 수를 count 해줍니다. 같은 방문자가 여러 번 방문한 경우가 있을 수 있기 때문에 중복 계산을 제거하기 위해 distinct 기능을 사용합니다. 계산된 값을 알아보기 쉽게 AS로 별칭(이름)을 지정해 줍니다. 

 

4. GROUP BY

방문자 수가 SELECT에서 지정한 데이터 항목에 따라 계산될 수 있도록 SELECT에서 지정된 3가지 데이터 항목을 입력합니다. 방문자 수와 같이 계산된 데이터는 GROUP BY에 사용할 수 없습니다. 

 

5. ORDER BY

가장 많은 방문자 수를 찾고 있기 때문에 방문자 수를 기준으로 내림차순 정리합니다. DESC는 내림차순을 의미하며 DESC를 적지 않으면 자동으로 오름차순으로 데이터를 정리합니다.  

 

6. 결과 확인

아래 결과를 확인해 보면 방문자 수가 가장 많은 소스는 "nonbrand" 캠페인의 "gsearch" 소스입니다. 

 

 

 

반응형