Window 함수에 대한 지식을 정리했다 (그 2)
소개
데이터 분석에서 중요한 함수인 것 같기 때문에, 몇 장으로 나누어, Window 함수에 대해 정리하고 있습니다.
마지막 기사는 👇
이번에도 몇 가지 샘플을 준비하고 설명합니다.
이번에는, Window 함수의 기능 일람의 소개와, Window 함수의 전형적인 이용 케이스인 이동 평균을 소개해 갑니다.
이번에도 SQL의 실행은 「DB Fiddle」라고 하는 Web 서비스를 사용해 보겠습니다.
Window 함수의 기능 목록 소개
Window 함수의 기능을 1장 그림으로 부감해 봅시다.
다음 논문에서 인용합니다.
Efficient processing of window functions in analytical SQL queries | Request PDF
세 가지 기능으로 구성되어 있음을 알 수 있습니다.
Window 함수로 이동 평균 계산
당일과 전날의 단순 이동 평균을 계산해 봅시다.
참고
Schema (MySQL v8.0)
CREATE TABLE temperatures (
id INT NOT NULL PRIMARY KEY auto_increment,
date DATE,
city_name TEXT,
avg_temp FLOAT
);
INSERT INTO temperatures VALUES
(1, '2020-12-01', '東京', 10.0),
(2, '2020-12-02', '東京', 9.0),
(3, '2020-12-03', '東京', 8.0),
(4, '2020-12-04', '東京', 7.0),
(5, '2020-12-01', '愛知', 11.0),
(6, '2020-12-02', '愛知', 10.0),
(7, '2020-12-03', '愛知', 9.0),
(8, '2020-12-04', '愛知', 8.0);
Query
SELECT
date AS 日付,
city_name,
AVG(avg_temp) OVER avg_temp_2days AS '移動平均2日間'
FROM temperatures
WINDOW avg_temp_2days AS (
PARTITION BY city_name
ORDER BY id ASC
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
);
창 함수의 프레임 절에서 사용할 수 있는 옵션
Results
날짜
city_name
이동 평균 2일
2020-12-01
아이치
11
2020-12-02
아이치
10.5
2020-12-03
아이치
9.5
2020-12-04
아이치
8.5
2020-12-01
도쿄
10
2020-12-02
도쿄
9.5
2020-12-03
도쿄
8.5
2020-12-04
도쿄
7.5
View on DB Fiddle
참조
29-35p
출력 100개 노크 실시 중
Reference
이 문제에 관하여(Window 함수에 대한 지식을 정리했다 (그 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryosuketter/items/131b71b486ca7c2a7d54텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)