Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 블로그
- Tistory
- Linux
- 서평
- Pandas
- Google Analytics
- MATLAB
- Visualization
- 매틀랩
- 티스토리
- 텐서플로
- Ga
- 독후감
- 한빛미디어
- matplotlib
- python visualization
- Python
- SQL
- MySQL
- 파이썬 시각화
- 리눅스
- 서평단
- 파이썬
- 월간결산
- 한빛미디어서평단
- tensorflow
- 딥러닝
- 시각화
- 통계학
- Blog
Archives
- Today
- Total
pbj0812의 코딩 일기
[SQL] LAG 함수를 이용한 전일대비 증가분 계산 본문
0. 목표
- LAG 함수를 이용하여 전일대비 금일의 증가량 계산
1. 실습
1) 테이블 생성
SELECT DATE, category, Price,
IFNULL(LAG(Price, 1) OVER (PARTITION BY Category ORDER BY DATE), 0) AS Price2
FROM lag_test
ORDER BY DATE
2) 데이터 삽입
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-01', 'a', 100);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-02', 'a', 200);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-03', 'a', 400);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-04', 'a', 800);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-05', 'a', 1600);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-06', 'a', 3200);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-07', 'a', 6400);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-08', 'a', 12800);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-09', 'a', 25600);
INSERT INTO lag_test(DATE, Category, Price) VALUES('2020-10-10', 'a', 51200);
3) 데이터 확인
SELECT * FROM lag_test order by DATE;
- 결과
4) lag 함수를 사용한 전일 정보 불러오기
SELECT
DATE, category, Price,
IFNULL(LAG(Price, 1) OVER (PARTITION BY Category ORDER BY DATE), 0) AS Price2
FROM lag_test;
- 결과
5) 증가분 구하기
SELECT
A.DATE, A.Price - A.Price2
FROM (
SELECT
DATE, category, Price,
IFNULL(LAG(Price, 1) OVER (PARTITION BY Category ORDER BY DATE), 0) AS Price2
FROM lag_test
) AS A;
- 결과
2. 참고
'ComputerLanguage_Program > SQL' 카테고리의 다른 글
[SQL] MySQL 조회 결과 csv 파일로 만들기 (0) | 2020.11.11 |
---|---|
[SQL] 전화번호 전처리 하기 (0) | 2020.11.07 |
[SQL] not in 과 left join 연산 시간 비교 실험(2/2) (0) | 2020.10.15 |
[SQL] not in 과 left join 연산 시간 비교 실험(1/2) (0) | 2020.10.15 |
[SQL] MySQL lock 실습 (0) | 2020.09.16 |
Comments