집 >데이터 베이스 >MySQL 튜토리얼 >MySQL을 사용하여 시계열 데이터를 사용자 정의 세그먼트로 그룹화하려면 어떻게 해야 합니까?
시계열 데이터를 세그먼트로 그룹화
정기적으로 샘플링된 시계열 데이터로 작업할 때 특정 기간 동안 데이터를 집계해야 하는 경우가 많습니다. 시간 세그먼트. 이를 통해 데이터 분석가와 엔지니어는 보다 의미 있는 방식으로 데이터 추세와 패턴에 대한 통찰력을 얻을 수 있습니다.
예를 들어 2초마다 샘플을 수집하는 테이블을 생각해 보세요. 장기간에 걸쳐 개수 값의 변화를 분석하려면 샘플을 10초 또는 30초 창으로 그룹화할 수 있습니다. 각 세그먼트 내의 카운트 값을 합산하거나 평균화하면 개별 시점을 볼 때 모호할 수 있는 패턴을 관찰할 수 있습니다.
세그먼트를 위한 MySQL 쿼리
이를 달성하려면 MySQL의 데이터 분할에서는 time_stamp 열에 대한 산술 연산과 함께 GROUP BY 절을 활용할 수 있습니다. 각 샘플의 UNIX 타임스탬프를 원하는 간격으로 나누어 시간 차이에 따라 샘플을 세그먼트로 그룹화할 수 있습니다.
샘플을 30초 세그먼트로 그룹화하려면 다음 쿼리를 고려하세요.
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
이 쿼리는 데이터의 시간 범위 내에서 30초 간격으로 그룹을 생성합니다.
사용자 정의 세그먼트 경계
GROUP BY 절 내의 r 표현식을 사용하여 간격 경계를 추가로 사용자 정의할 수 있습니다. 나누기 전에 UNIX 타임스탬프에 양의 정수 값 r을 추가하면 세그먼트 경계를 이동할 수 있습니다.
예를 들어 hh:mm:05에서 시작하여 hh:mm 1에서 끝나는 20초 세그먼트를 생성하려면 :05:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
이 쿼리는 샘플을 20초 세그먼트로 그룹화합니다. 첫 번째 세그먼트는 hh:mm:05에서 시작하고 마지막 세그먼트는 다음에서 끝납니다. hh:mm 1:05.
위 내용은 MySQL을 사용하여 시계열 데이터를 사용자 정의 세그먼트로 그룹화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!