집 >데이터 베이스 >MySQL 튜토리얼 >주식 시세의 시계열 분석을 위해 MySQL에서 지연 함수를 어떻게 시뮬레이션할 수 있습니까?
MySQL 시계열 분석: 주식 시세 비교를 위한 LAG 함수 시뮬레이션
MySQL에는 LAG 기능이 내장되어 있지 않기 때문에 특히 순차적 주식 시세를 비교할 때 시계열 분석이 복잡해질 수 있습니다. 이 문서에서는 LAG 기능을 효과적으로 시뮬레이션하고 여러 회사의 시간 경과에 따른 견적 변화를 계산하는 해결 방법을 보여줍니다.
우리의 접근 방식은 영리한 기술을 사용합니다.
<code class="language-sql">SET @quot = -1; SELECT time, company, @quot AS lag_quote, @quot := quote AS curr_quote FROM stocks ORDER BY company, time;</code>
@quot
변수는 두 가지 모두를 영리하게 처리합니다.
lag_quote
: 앞줄의 인용문curr_quote
: 현재 행의 인용문결과를 company
및 time
별로 정렬하면 각 회사의 데이터 내에서 정확한 비교가 가능합니다.
원하는 출력 형식(원래 질문에서 잠재적으로 요청한 대로)을 얻기 위해 중첩 쿼리를 사용합니다.
<code class="language-sql">SET @quot = 0, @latest = 0, @comp = ''; SELECT B.* FROM ( SELECT A.time, A.change, IF(@comp = A.company, 1, 0) AS LATEST, @comp := A.company AS company FROM ( SELECT time, company, quote - @quot AS change, @quot := quote AS curr_quote FROM stocks ORDER BY company, time ) A ORDER BY company, time DESC ) B WHERE B.LATEST = 1;</code>
이 중첩 쿼리 구조는 각 회사의 가장 최근 견적 변경 사항을 효율적으로 식별하여 데이터를 구조화된 방식으로 표시합니다.
이 방법은 MySQL에서 LAG 기능을 시뮬레이션하기 위한 실용적이고 효율적인 솔루션을 제공하며, 특히 기본 LAG 기능을 사용할 수 없는 경우 유용합니다. 다양한 시계열 분석 작업에 강력한 기술입니다.
위 내용은 주식 시세의 시계열 분석을 위해 MySQL에서 지연 함수를 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!