반응형

SQL & DB/PostgreSQL 28

[PostgreSQL] 사용자 로그데이터(Log Data) 매출분석(3) - RFM 분석

1. 로그데이터를 분석하고 카테고리/연령별로 집계하는 포스팅 ysyblog.tistory.com/146?category=1176025 [PostgreSQL] 사용자 로그데이터(Log Data)분석(1) - 사용자들의 특징 찾기(사용자 그룹화, 카테고리별 csv파일을 Import 하는 방법은 아래 포스팅에 자세히 적혀있습니다. ysyblog.tistory.com/143 [PostgreSQL] CSV File를 Table에 삽입(Import)하기. CSV파일을 PostgreSQL에 삽입하는 방법은 다음과 같습니다. 먼저.. ysyblog.tistory.com 2. 로그데이터를 활용하여 DECILE분석하기 ysyblog.tistory.com/147?category=1176025 [PostgreSQL] 사용자 ..

SQL & DB/PostgreSQL 2021.01.15

[PostgreSQL] 사용자 로그데이터(Log Data) 매출분석(2) - DECILE분석 (사용자 그룹화 하기)

해당 포스팅은 아래 포스팅에 이어서 진행합니다. ysyblog.tistory.com/146 [PostgreSQL] 사용자 로그데이터(Log Data)분석(1) - 사용자들의 특징 찾기(사용자 그룹화, 카테고리별 csv파일을 Import 하는 방법은 아래 포스팅에 자세히 적혀있습니다. ysyblog.tistory.com/143 [PostgreSQL] CSV File를 Table에 삽입(Import)하기. CSV파일을 PostgreSQL에 삽입하는 방법은 다음과 같습니다. 먼저.. ysyblog.tistory.com Decile 분석(Ntile) -Decile분석이란 데이터를 10단계로 분할해서 중요도를 파악하는 분석입니다.(해당 데이터에서 중요도라 함은 구매액이 될것입니다.) - 같은 수로 데이터 그룹을 ..

SQL & DB/PostgreSQL 2021.01.15

[PostgreSQL] 사용자 로그데이터(Log Data) 매출분석(1) - 사용자들의 특징 찾기(사용자 그룹화, 카테고리별 집계, 벤다이어그램(CASE))

csv파일을 Import 하는 방법은 아래 포스팅에 자세히 적혀있습니다. ysyblog.tistory.com/143 [PostgreSQL] CSV File를 Table에 삽입(Import)하기. CSV파일을 PostgreSQL에 삽입하는 방법은 다음과 같습니다. 먼저 데이터를 다운로드합니다. 그리고 데이터를 넣을 데이블을 만들어줍니다. DROP TABLE IF EXISTS sale_data; CREATE TABLE sale_data ( order_id S.. ysyblog.tistory.com Data소개 1. 고객로그데이터 2010년 12월부터 2011년 2월초까지 어느 온라인쇼핑몰의 고객 주문 로그 데이터입니다. 아래 데이터를 database에 import합니다. 테이블을 만들기 위한 SQL 쿼리입니..

SQL & DB/PostgreSQL 2021.01.12

[PostgreSQL] 카테고리별 매출 파악(ABC분석, 매출변화율, 도수분포표(히스토그램))

이번포스팅에서는 카테고리별 매출을 파악하는 것을 해보겠습니다. - 분석할 데이터와 데이터를 DB에 import하는 방법은 아래 링크에서 보실 수 있습니다. ysyblog.tistory.com/143 [PostgreSQL] CSV File를 Table에 삽입(Import)하기. CSV파일을 PostgreSQL에 삽입하는 방법은 다음과 같습니다. 먼저 데이터를 다운로드합니다. 그리고 데이터를 넣을 데이블을 만들어줍니다. DROP TABLE IF EXISTS sale_data; CREATE TABLE sale_data ( order_id S.. ysyblog.tistory.com - 매출 시계열 분석은 아래 링크에서 보실 수 있습니다. ysyblog.tistory.com/144 [PostgreSQL] 매출데이..

SQL & DB/PostgreSQL 2021.01.11

[PostgreSQL] 매출데이터 시계열 분석하기(이동평균분석, 월별, Z차트분석)

이번 포스팅에서는 매출데이터를 시계열 분석해보겠습니다. 분석할 데이터와 데이터를 DB에 import하는 방법은 아래 링크에서 보실 수 있습니다. ysyblog.tistory.com/143 [PostgreSQL] CSV File를 Table에 삽입(Import)하기. CSV파일을 PostgreSQL에 삽입하는 방법은 다음과 같습니다. 먼저 데이터를 다운로드합니다. 그리고 데이터를 넣을 데이블을 만들어줍니다. DROP TABLE IF EXISTS sale_data; CREATE TABLE sale_data ( order_id S.. ysyblog.tistory.com 날짜별 매출 분석 날짜별로 매출과 평균구매액을 집계하는 쿼리입니다. select date ,count(*) as purchase_count ,..

SQL & DB/PostgreSQL 2021.01.11

[PostgreSQL] CTE (WITH 절)

SQL문이 복잡해지면 서브쿼리의 중첩이 많아지는데 이렇게 되면 가독성이 많이 떨어지게 됩니다. 이때 공통 테이블 식(CTE : common table expression)을 사용하면 임시로 테이블을 정의하고 재활용할 수 있습니다. 이때 사용하는 것이 WITH문입니다. WITH문 WITH문의 구조는 다음과 같습니다. WITH (테이블 이름) AS (SELECT ~ FROM ~) SELECT ~ DATASET QUERY DROP TABLE IF EXISTS categories_sales; CREATE TABLE categories_sales ( category_id integer , name varchar(255) , sales_amount integer ); INSERT INTO categories_sal..

SQL & DB/PostgreSQL 2021.01.08

[PostgreSQL] 테이블 가로 결합(JOIN) (LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN)

테이블 가로 결합(JOIN)JOIN을 활용하여 두개 이상의 테이블을 가로로 결합할 수 있습니다.ON t1.column1 = t2.column1 이런식으로 조인해줄 칼럼을 지정해주면 됩니다. JOIN의 종류- (INNER) JOIN : Table1과 Table2에서 값이 같은 행만 반환- LEFT (OUTER) JOIN : JOIN 왼쪽에 있는 Table1의 모든 결과를 가지고 온 후 Table2와 매칭하며, 매칭되는 데이터가 없을 경우 NULL값 삽입- RIGHT (OUTER) JOIN : JOIN 오른쪽에 있는 Table2의 모든 결과를 가지고 온 후 Table1와 매칭하며, 매칭되는 데이터가 없을 경우 NULL값 삽입- FULL(OUTER) JOIN : Table1과 Table2을 매칭시키고 데이터가..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] 테이블 세로 결합(UNION)

여러개의 테이블을 다루다 보면 테이블을 결합해서 사용할 때가 있습니다. Select문으로 불러와진 같은 칼럼을 가진 테이블 여러개를 세로로 결합하는 경우에 대해 알아보겠습니다. DATASET QUERY CREATE TABLE app1 ( user_id varchar(255) , name varchar(255) , email varchar(255) ); INSERT INTO app1 VALUES ('U001', 'sedsf', 'sedsf@naver.com' ) , ('U002', 'ferd', 'ferd@naver.com') , ('U003', 'yop', 'yop@naver.com') , ('U004', 'dsf', 'dsf@naver.com') ; CREATE TABLE app2 ( user_id v..

SQL & DB/PostgreSQL 2021.01.07

[PostgreSQL] Window Function(윈도우 함수), 순위함수

윈도우 함수란- 윈도우 함수는 테이블에서 행집합을 대상으로 `함수입니다.- 행집합은 한 행에 대해서 어떠한 방식으로 관계된 행들이며, 집합 단위로 계산한다는 점에서 집계 함수와 비슷합니다.- 하지만 집계 함수는 해당 되는 행집합에 대해서 하나의 로우로 그 결과물을 보여주지만, 윈도우 함수는 각 행마다 처리결과를 출력합니다. 따라서 윈도우 함수는 집계결과뿐만 아니라 각행의 특징도 볼 수 있습니다. 윈도우 함수의 구조- 집약함수로 윈도함수를 사용하려면 집약함수 뒤에 OVER를 붙이고 윈도함수를 지정합니다. - 만약 OVER구문에 매개변수를 지정하지 않으면 테이블 전체에 집약함수가 적용됩니다.- 매개변수에 PARTITION BY (컬럼이름) 을 지정하면 해당 컬럼 값을 기반으로 그룹화하고 집약함수가 적용됩니다..

SQL & DB/PostgreSQL 2021.01.07
반응형