일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 로그 변환
- lightgbm
- 컨브넷
- WITH ROLLUP
- XGBoost
- 그로스 해킹
- 캐글 신용카드 사기 검출
- 데이터 정합성
- Growth hacking
- splitlines
- 3기가 마지막이라니..!
- 부트 스트래핑
- 분석 패널
- WITH CUBE
- ARIMA
- 마케팅 보다는 취준 강연 같다(?)
- 스태킹 앙상블
- 인프런
- DENSE_RANK()
- 데이터 핸들링
- sql
- 캐글 산탄데르 고객 만족 예측
- tableau
- pmdarima
- 리프 중심 트리 분할
- 데이터 증식
- python
- 그로스 마케팅
- 그룹 연산
- ImageDateGenerator
- Today
- Total
목록전체 글 (183)
LITTLE BY LITTLE
효율화 & 자동화에 필요한 SQL 문법 VIEW 가상 테이블 또는 저장된 SQL명령어이다. CREATE VIEW [Order_Member] AS SELECT A.* ,B.gender ,B.ageband ,B.join_date FROM [Order] A LEFT JOIN [Member] B ON A.mem_no = B.mem_no A는 전부(*) 셀렉트하고, B에서는 mem_no를 제외한 이유는 [Order]테이블의 mem_no와 중복되는 열이기 때문이다. CREATE VIEW [Order Member] AS SELECT * FROM [Order] A LEFT JOIN [Member] B ON A.mem_no = B.mem_no 반면에 B에서 mem_no를 제외하지 않고 위처럼 입력하면 에러가 난다. SE..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b1P3G8/btrHaSZ2MxQ/3yPZQ2ALiFXDtJDYjDMTXk/img.png)
윈도우 함수 윈도우 함수는 행과 행간의 관계를 정의하며, 순위 및 집계함수(누적) 2가지 종류가 있다. 1. 윈도우 순위 함수 : 행과 행간의 순위 반환 2. 윈도우 집계 함수 : 행과 행간의 누적 집계 반환 순위함수 : ROW_NUMBER() 동일한 값의 고유한 순위 / RANK() 동일한 값의 고유한 순위(1위,2위..) / DENSE_RANK() 앞의 함수와 흡사하나, 동일한 순위를 하나의 등수로 간주함. 집계함수(누적) : COUNT() / SUM() / AVG() / MAX() / MIN() 윈도우 함수 기본 문법** 더보기 윈도우 함수 + OVER + (ORDER BY 열 ASC OR DECS) 윈도우 함수 + OVER + (PARTITION BY 열 ASC or DECS) *옵션으로 part..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vX4FS/btrG9lIAtG6/3q3LM5t14qKPB3QaaAkoZk/img.png)
그룹 함수 (WITH ROLLUP, WITH CUBE, GROUPING SETS, GROUPING) WITH ROLLUP : GROUP BY 항목들을 오른쪽에서 왼쪽 순서대로 그룹을 묶는 역할 WITH ROLLUP 사용 안할경우 SELECT YEAR(order_date) AS 연도 ,channel_code AS 채널코드 ,SUM(sales_amt) AS 주문금액 FROM [Order] GROUP BYYEAR(order_date) ,channel_code 마지막 ORDER BY 직전에 WITH ROLL UP추가 SELECT YEAR(order_date) AS 연도 ,channel_code AS 채널코드 ,SUM(sales_amt) AS 주문금액 FROM [Order] GROUP BY YEAR(order_d..
데이터를 집계하거나 변환할 때, 한번에 처리하기 위해서 split-apply-combine(분할-반영-결합) 과정을 거쳐야한다. SQL의 GROUP BY 구문과 비슷하다. from google.colab import files myfiles = files.upload() import pandas as pd df = pd.read_csv('gapminder.tsv',sep='\t') avg_life_exp_by_year = df.groupby('year').lifeExp.mean() print(avg_life_exp_by_year) 분할 작업 : 먼저 데이터를 중복 없이 추출 years = df.year.unique() print(years) 반영 작업 : loc을 이용, 1952년의 데이터를 추출 y19..
예제 풀어보기 Q01. a. [Order]테이블의 모든 열을 조회하여라. USE EDU SELECT * FROM [Order] b.[shop_code]는 30이상으로만 필터하여라. SELECT * FROM [Order] WHERE shop_code>=30 - SELECT * FROM [TABLE] - 전부다 보는거긴 보는건데, WHERE을 사용해서 조회할 열을 설정 c.[mem_no]별 [sales_amt]합계를 구하여라. (SUM(sales_amt)의 열 이름은 tot_amt) SELECT mem_no ,SUM(sales_amt) AS tot_amt FROM [Order] WHERE shop_code>=30 GROUP - BY mem_no --"~~별로 구하여라" - 해당되는 컬럼만 select해야한다..
더보기 - SQL문법 순서 SELECT-> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY -SQL실행 순서 FROM -> WHERE -> GROUPBY -> HAVING ->SELECT-> ORDER BY --[회원테이블]의 특정 컬럼명 조회 및 임시로 컬럼명 변경하기 (AS) SELECT [회원번호] ,[이름] AS [성명] ,[가입일자] ,[나이] FROM [회원테이블] -- 모든 행을 조건 없이, [나이] 30으로 수정하기 UPDATE [회원테이블] SET [나이] = 30 -- [회원번호]가 'A10001'인 [나이] 34로 변경하기 UPDATE [회원테이블] SET [나이] = 34 WHERE [회원번호] = 'A10001' -- [회원테이블] 모든 행 데..
- Ctrl + N = 새 쿼리(N): sql명령어를 작성하는 창 생성 - F5 = 실행(X): 데이터베이스 생성 - Ctrl + S = 쿼리 저장 - USE DB이름: 데이터베이스 사용 - 크게 4가지로 분류되는 명령어 더보기 1) DDL (Data Definition Language): 테이블 생성, 변경, 삭제 CREATE, ALTHER, RENAME, TRUNCATE, DROP 2) DML (Data Manipulation Language): 데이터 삽입, 조회, 수정, 삭제 INSERT, SELECT, UPDATE, DELETE 3) DCL (Data Control Langauge): 특정 사용자에게 데이터 접근 권한 부여, 제거 GRANT, REVOKE 4) TCL (Transaction Co..