지속률 : 등록일 기준으로 이후 지정일 동안 사용자가 서비스를 얼마나 이용했는지 나타내는 지표정착률 : 등록일 기준으로 지정한 7일 동안 사용자가 서비스를 사용했는지 나타내는 지표CAST : 데이터 형식을 다른 데이터 형식으로 변환하는 역할DATEADD : 날짜, 시간
NTILE : 정해준 값을 \~~개로 나누어라R : Recency 최근 구매일F : Frequency 구매 횟수M : Monetary 구매금액 합계
사용자 단위로 purchase, review, favorite 이라는 3개의 액션을 행한 로그가 존재하는지를 0과 1의 플래그로 부여하였다.SIGN : 함수 안의 인자가 음수면 -1, 0이면 0, 양수면 1을 반환하는 함수
mst_users 테이블이다.REPLACE : 바꾸려는 문자열과 바꾸려는 문자를 입력하고, 어떤 문자로 바꿀지를 입력하면 된다. CAST : 데이터 형식을 다른 데이터 형식으로 바꿔주는 함수이다. 이 두가지 함수를 사용하여 특정 날짜에 사용자의 나이를 구할 수 있다이
사용자의 속성 또는 행동과 관련된 정보를 집계해서 사용자 행동을 조사하고, 서비스를 개선할 때 실마리가 될 수 있는 리포트를 만들어보자.mst_users 테이블action_log 테이블
위 쿼리를 이용하여 월별 매출과 작대비(作對比)를 구해보겠다.Z차트는 다음 세가지 요소로 구성된다.월차매출 : 월별 매출 합계매출누계 : 매출을 집계한 시점부터 누적한 매출이동년계 : 해당 월의 매출에 과거 11개월의 매출을 합한 값
위 두 쿼리의 결과는 똑같다. UNION ALL은 처리가 비교적 무거우므로 레코드 수가 많아지면 성능 문제가 발생할 수 있다.위 쿼리의 ROWS UNBOUNDED PRECEDING은 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
SIGN : 괄호 안의 값의 음수/양수/0 여부를 -1/+1/0 으로 보여준다. CTE : Common Table Expression 의 준말로, 공통 테이블 식을 뜻한다. 일시적인 테이블에 이름을 붙여 재사용할 수 있는 기능이다. 이를 활용하면 복잡한 쿼리의 가독성이
SQL은 행 기반으로 처리하는 것이 기본이다. 행 단위로 저장된 '세로기반'을 열 또는 쉼표로 구분된 문자열 등의 '가로 기반'으로 변환해보자.다음과 같은 테이블이 있다.다음과 같은 테이블에서는 위의 방법이 유효하지 않다. 열의 수를 미리 정할 수 없기 때문이다. 따라
ORDER BY 구문과 SUM/AVG 등의 집약함수를 조합하면, 집약 함수의 적용 범위를 유연하게 지정할 수 있다.FIRST_VALUE / LAST_VALUE : 각각 윈도 내부의 가장 첫번째 레코드와 가장 마지막 레코드를 추출해주는 함수.프레임 지정 구문에는 여러가지
이미 한번씩 공부했던 쿼리이다GROUP BY 구문을 사용한 쿼리에서는, GROUP BY 구문에 지정한 컬럼 또는 집약 함수만 SELECT 구문의 컬럼으로 지정할 수 있다. GROUP BY 구문에 지정한 컬럼을 유니크 키로 새로운 테이블을 만들기 때문이다. OVER 구문
1차원에 있는 점 사이의 거리를 구하는 쿼리이다.ABS : 절댓값을 계산하는 함수POWER : 제곱을 하는 함수SQRT : 제곱근을 구할 때 사용2차원 평면위의 두점 사이의 거리를 구해보자피타고라스 공식을 응용한 유클리드 거리를 계산하는 쿼리이다.회원 등록일과 현재 날
Amazon Redshift의 무료 2개월 체험버전이 있어서 사용중이다.원래는 PostgreSQL을 사용하려고 했지만, 알 수 없는 오류로 일단 보류하고 있다.다음과 같은 테이블에서 문자열을 연결하고자 한다두번째, 세번째 행이 모두 동일한 값을 도출한다.CONCAT :
로그 데이터 또는 업무 데이터로 저장된 코드 값을 그대로 집계에 사용하면 리포트의 가독성이 낮아진다. 따라서 리포트를 작성할 때 변환하는 등의 작접을 해야 한다. 코드 값을 레이블로 변경하는 방법 : CASE문 활용하기
업무 데이터 : 업무에 필요한 데이터로그 데이터 : 업무에 직접적으로 필요하지는 않지만 분석을 위해 추출해야 하는 데이터업무 데이터: 서비스와 시스템을 운용하기 위한 목적으로 구축된 데이터베이스에 존재하는 데이터. '트랜젝션 데이터'와 '마스터 데이터'로 분류할 수 있
데이터분석을 위한 SQL 레시피라는 새로운 책을 구입하였다.기존에 공부하던 책은, 앞으로 이 책을 공부하면서 보조교재로 활용할 것이다.회사의 선배가 추천해 준 책인데, 수준이 다소 높아보인다.공부하는 과정에서 많이 막힐 것 같은데... 우선 해봐야 알지 않겠는가?만약
FROM절의 서브쿼리에서 교통사고 건수가 많은 순으로 순위를 부여하여 결과를 출력한다. 그리고 메인 쿼리에서 서브 쿼리의 결과 중 순위 5위까지만 제한을 걸어 출력한다. FROM절의 서브쿼리문에서 치킨집 폐업 건수가 높은 순으로 순위를 출력한다. 그리고 메인 쿼리문의