본문 바로가기

SQL4

[SQL - Bigquery/빅쿼리] 웹사이트 전체의 특징/경향 찾기 웹사이트 전체의 특징과 경향을 찾기 위한 쿼리를 소개하겠다. 0. 샘플 데이터 1. 날짜별 방문자 수 / 방문 횟수 / 페이지 뷰 집계하기 : substr, distinct, nullif 웹사이트에서는 방문자 수 , 방문 횟수, 페이지 뷰 집계가 기본이다. 먼저 각각의 지표가 무엇을 집계하는지 살펴보도록 하자. 방문자 수 브라우저를 꺼도 사라지지 않는 쿠키의 유니크 수 한 명의 사용자가 1일에 3회 사이트를 방문해도 1회로 집계 방문 횟수 브라우저를 껐을 때 사라지는 쿠키의 유니크 수 한 명의 사용자가 1일에 3회 사이트를 방문하면 3회로 집계 페이지 뷰 페이지를 출력한 로그의 수 '1회 방문당 페이지 뷰'를 날짜별로 집계하는 쿼리를 작성해 보겠다. select substr(cast(stamp as st.. 2023. 3. 9.
[SQL - Bigquery/빅쿼리] 연령별 사용자 특징 추출하기 빅쿼리를 이용하여 연령별 사용자의 특징을 추출하는 쿼리를 작성해 보도록 하겠다. #0. 샘플 데이터 각 액션에 view, favorite, add_cart, purchase, review 등의 액션 이름을 붙였다. 로그인 한 사용자는 user_id 값이 들어있고, 로그인하지 않은 사용자들은 user_id 값이 비어있다. #1. 연령별 구분 집계하기 다음 표를 기반으로 사용자의 성별과 연령을 구분할 것이다. 연령별 구분 설명 C 4~12 세 남성과 여성(Child) T 13~19세 남성과 여성(Teenager) M1 20~34세 남성(Male) M2 35~49세 남성(Male) M3 50세 이상의 남성(Male) F1 20~34세 여성(Female) F2 35~49세 여성(Female) F3 50세 이상의.. 2023. 2. 16.
[SQL - Bigquery/빅쿼리] 문자열을 배열로 분해하기(split함수) 빅데이터 분석에서 가장 많이 사용되는 자료형은 문자열이지만 문자열 자료형은 더 세부적으로 분해해서 사용해야 하는 경우가 많다. 이번에는 문자열을 배열로 분해하는 sql 쿼리를 소개하고자 한다 1. split() 함수 split( '문자열', '구분문자') 문자열을 분해하여 배열 형태로 반환해 주는 함수이다. 기본 구분자는 쉼표(,)로 사용된다. 2. split() 함수 예제 2-1) split 함수 예제 1 SELECT split('a, b, c, d, e', ','); 'a, b, c, d, e'라는 문자열을 분해하고자 한다면 위와 같이 함수를 사용하면 된다. 쉼표(,)를 기준으로 문자를 구분하고, 쿼리 결과를 통해 배열 형태로 반환된 것을 확인할 수 있다. 2-2) split 함수 예제 2 사용할 샘.. 2023. 1. 25.
[SQL - Bigquery/빅쿼리] URL에서 요소 추출하기(net.host함수) URL 함수를 이용하여 요소를 추출하는 방법을 알아보고자 한다. 다음과 같은 샘플 데이터를 사용해 URL과 관련된 함수를 추출해 보겠다. #레퍼러로 어떤 웹 페이지를 거쳐 넘어왔는지 판별하기 어떤 웹 페이지를 거쳐 넘어왔는지 판별할 때는 레퍼러를 집계한다. 하지만 샘플 데이터에서 보듯이 페이지 단위로 집계하면 너무 복잡해지므로, 호스트 단위로 집계하는 것이 일반적이다. ※ URL에서 호스트 단위란? 빅쿼리에서는 URL을 다루는 함수가 있다. net.host() 함수를 이용하면 호스트 이름 부분을 추출할 수 있다. SELECT stamp, net.host(referrer) AS referrer_host FROM `data.access_log`; 다음과 같이 호스트 단위로 집계된 결과를 확인할 수 있다. #.. 2023. 1. 25.