본문 바로가기

728x90
728x90

TOOLS/My SQL

(20)
[My SQL] 서비스 분석 | JOIN 활용 - 서비스/제품 교차구매 여부 확인하기 오늘은 JOIN 구문을 활용해서 교차 구매자 데이터를 확인하는 쿼리문을 연습했다. Table 1: Service1Table 2: Service2우리 회사에 Service 1과 2가 있다고 가정했을 때, Service 1을 구매한 고객이 Service 2도 구매했을 때의 고객 수를 알아보자! #1 | LEFT JOIN을 통해 각 서비스 교차 사용 유저 id를 리스트업SELECT A.customer_id AS service1_user ,B.customer_id AS service2_user FROM Service1 A LEFT JOIN Service2 B ON A.customer_id = B.customer_id GROUP BY 1 ORDER BY 2 DESC ; 먼저 JOIN 구문을 활용해서 service..
[My SQL] 데이터 import 오류 | 0 record / 레코드 값 저장 오류 하,, 진쯔,, , 요즘 import 오류가 많이나서 넘 화나즈느,,, 이것저것 실험(?)해서 삽질한 결과 오류의 종류와 해결방법의 실마리를 조금 알아낸 것 같다-! ㅋㅋㅋㅋㅋ 기억이 증발해서 또 같은 오류를 반복할 수 있으므로 다시 정리해보겠다 😇  데이터 import시 발생하는 흔한 오류는 3가지 정도가 있는 것 같다. ▶︎ 1. 레코드가 입력되지 않은 경우 (0 record) ▶︎ 2. 레코드 값이 이상하게 저장된 경우 ▼ 3. cvs 업로드 시 코덱 오류 [My SQL] 데이터 import 오류(ascii codec..) 해결 방법 오랜만에 눈누난나 My SQLWorkbench 접속! 새로운 데이터로 연습 좀 해보려고 데이터를 import 하는데 자꾸 처음 보는 오류가 뜬다. 또또 뭔가 하려니까..
[My SQL] 서비스 분석 | 재구매 / 구매간격 / 구매주기 https://www.boostcourse.org/ds102/lecture/373476?isDesc=false 기초 데이터 분석을 위한 핵심 SQL 부스트코스 무료 강의 www.boostcourse.org 위 강의를 수강하여 서비스 구매 DB 분석을 공부했다 :) 궁금한거나 필요한 건 다 인터넷에 있는 세상,, 좋다 🤗 | 서비스 구매 현황 : 최초구매일 / 최근구매일 / 구매횟수 / 재구매여부 / 구매간격 / 구매주기 SELECT * ,CASE WHEN DATE_ADD(최초구매일자, INTERVAL +1 DAY)
[My SQL] 데이터 import 오류 (ascii codec..) 해결 방법 오랜만에 눈누난나 My SQLWorkbench 접속! 새로운 데이터로 연습 좀 해보려고 데이터를 import 하는데 자꾸 처음 보는 오류가 뜬다. 또또 뭔가 하려니까 이런 오류가 발생하지 하😂 일단 저기 나온 워딩으로 구글링을 좀 해보니, 1. 파일 저장 경로에 한글이 있을 경우 이런 현상이 발생한다고 하는데, 나의 경우에는 모든 경로가 영문으로 되어 있음에도 계속 오류가 발생했다ㅠ (한 10번 정도 시도해서.. 짜증 게이지 상승함) 그래서 마지막으로 시도해본 2. 파일 변환! JSON으로도 DB import가 가능하니, 바꿔서 업로드하면 되지 않을까? 고맙게도 CSV 파일을 JSON 파일로 변환해주는 사이트가 있었다. 지푸라기 잡는 마음으로 아래 사이트 접속! | CSV to JSON https://c..
[My SQL] DAU/WAU/MAU 활성 유저(Active User) 집계 / Stickness 지표 안녕하세요. 오늘은 기간 별 활성 유저(Active User)의 의미와, 활성 유저를 집계하는 My SQL 쿼리문을 알아보겠습니다. 먼저 활성 유저는 특정 기간 동안 앱을 이용한 사용자 수를 의미합니다. My SQL 쿼리문 작성 시 특정 기간으로 그룹핑을 하고, DISTINCT(중복X)된 유저의 아이디를 COUNT해주면 됩니다. 아래 쿼리문을 통해 자세한 내용 살펴보겠습니다! 아래 쿼리문에 사용된 테이블과 컬럼은 하단의 박스를 참고해주세요 :)- Table : Visit - Column : customer_id, visited_at* visited_at 컬럼의 데이터는 '2023-03-14' 의 포맷으로 저장되어 있습니다. | DAU (Daily Active User): 일간 활성 사용자 수 예시 )SE..
[My SQL] DATEDIFF와 TIMEDIFF / 날짜와 시간 차이 반환 / 고객 구매 주기 분석 안녕하세요. 에린이 인사드립니다,,😇 요즘 에스큐엘 복습하면서 쿼리문을 이것저것 뽑아보는데, 매일 사용하는 데이터만 만지니까 좀 지루,, 하더라구요. 저는 뭐든 흥미를 빠르게 잃어버리는 능력이 있습니다,,🥱 담번엔 케글에서 다양한 데이터를 내려받아서 쿼리문 뽑아보려구요. 다양한 데이터를 활용해서 더 많은 내용을 공유하도록 할게요🔥 오늘은 날짜&시간 데이터간 차이를 반환해주는 DATEDIFF 와 TIMEDIFF 함수를 알아보겠습니다. | DATEDIFF 날짜1과 날짜 2의 차이를 반환하는 함수입니다. DATEDIFF(날짜1, 날짜2) DATEDIFF 함수 예시 ) SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') AS today, '2023-03-01' AS day_before, DATED..
[My SQL] Window 함수 | RANK, DENSE_RANK, ROW_NUMBER / 행에 순위 부여하기 안녕하세요. My SQL을 독학하고 있는 꼰정입니다,, 👾 오늘은 행에 순위를 부여해주는 윈도우 함수들을 알아볼게요! 먼저 윈도우 함수의 개념을 간단하게 말씀드릴게요. 윈도우 함수는, 행과 행간의 데이터를 비교, 분석, 연산하기 위한 함수입니다. 더 간단하게 설명하자면, 셀 = 윈도우 라고 생각하시면 됩니다. 네모난 셀이 꼭 창문을 닮지 않았나요? 🪟 순위를 비교, 분석, 연산하는 window 함수 알아볼게요! | 순위를 부여하는 window 함수 RANK, DENSE_RANK, ROW_NUMBER는 대표적으로 행에 순위 부여 시 사용되는 함수입니다. 함수 의미 출력 예시 RANK 동일 순위 적용, 동일 순위 다음 행은 동일 순위의 수 만큼 숫자를 건너뜀 1 , 1 , 3 , 4 , 4 , 6 DENSE..
[My SQL] 고객 세분화(Customer Segmentation) 확인 - 인구 통계 정보 산출 쿼리문 고객 정보 데이터를 그룹핑할때 응용할 수 있는 쿼리문을 알아보겠다. 고객 세분화(Customer Segmentation)를 하는 방식에는 여러가지가 있을 수 있다. 인구 통계 - 성별 / 나이 / 결혼여부 방문 기록 - 신규고객 / 충성고객 / 유령고객 결재액 - 10만원 이상(Friends) / 50만원 이상(VIP) / 100만원 이상(VVIP) 오늘은 가장 기본적인 Demographic 특성을 활용해 Demo그룹별 회원 수 및 회원 비중을 알아보는 My SQL 쿼리문 예제를 준비했다. 예시 1) 성별 / 나이대 별 전체 회원 수 SELECT CASE WHEN LENGTH(gender) < 1 THEN 'Others' ELSE gender END AS gender , CASE WHEN age is N..

728x90
728x90