시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법은 무엇입니까?
시계열 데이터는 시간적 연속성과 상관성을 갖는 시간순으로 배열된 데이터의 집합을 말합니다. 시계열 분석은 미래 추세 예측, 순환 변화 발견, 이상값 탐지 등에 사용할 수 있는 중요한 데이터 분석 방법입니다. 이 기사에서는 코드 예제와 함께 시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법을 소개합니다.
먼저 시계열 데이터를 저장할 데이터 테이블을 생성해야 합니다. 분석하려는 데이터가 일일 매출이라고 가정하면 날짜, 매출, 판매량의 세 가지 필드가 포함된 "sales"라는 데이터 테이블을 생성할 수 있습니다.
CREATE TABLE sales ( date DATE, revenue DECIMAL(10,2), quantity INT );
다음으로 시계열 분석을 위해 데이터 테이블에 일부 샘플 데이터를 삽입해야 합니다. 다음과 같은 샘플 데이터가 있다고 가정합니다.
Date Sales Sales
2019-01-01 100.00 10
2019-01-02 150.00 15
2019-01-03 200.00 20
...
다음 코드를 사용하여 다음을 수행할 수 있습니다. 데이터가 데이터 테이블에 삽입됩니다.
INSERT INTO sales (date, revenue, quantity) VALUES ('2019-01-01', 100.00, 10), ('2019-01-02', 150.00, 15), ('2019-01-03', 200.00, 20);
샘플 데이터를 삽입한 후에는 SQL 쿼리를 사용하여 시계열 데이터를 추출하고 분석할 수 있습니다. 다음은 일반적으로 사용되는 몇 가지 쿼리 예입니다.
SELECT date, revenue FROM sales WHERE date BETWEEN '2019-01-01' AND '2019-01-31';
SELECT date, AVG(revenue) FROM sales GROUP BY date;
SELECT date, revenue FROM sales ORDER BY revenue DESC LIMIT 1;
SELECT DATE_FORMAT(date, '%Y-%m') AS month, SUM(revenue) FROM sales GROUP BY month;
MySQL은 일반 SQL 쿼리 외에도 고급 시계열 분석을 위한 몇 가지 내장 기능도 제공합니다. 다음은 일반적으로 사용되는 함수의 몇 가지 예입니다.
SELECT date, revenue, AVG(revenue) OVER (ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) FROM sales;
SELECT date, revenue, (revenue - LAG(revenue) OVER (ORDER BY date)) / LAG(revenue) OVER (ORDER BY date) AS growth_rate FROM sales;
SELECT date, revenue, IF(ABS(revenue - AVG(revenue) OVER ()) > 3 * STDDEV(revenue) OVER (), 'Anomaly', 'Normal') AS status FROM sales;
이러한 함수를 사용하여 우리는 다음을 수행할 수 있습니다. 시계열 분석을 더욱 편리하게 해보세요.
요약
이 글에서는 시계열 분석을 위해 MySQL 데이터베이스를 사용하는 기본 단계를 소개하고, 몇 가지 SQL 쿼리 예제와 내장 함수 예제를 제공합니다. 이러한 기술에 능숙해지면 시계열 데이터를 더 잘 이해하고 활용할 수 있으며 숨겨진 패턴과 추세를 발견할 수 있습니다.
위 내용은 시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!