將時間序列資料分組
在處理定期取樣的時間序列資料時,通常需要聚合特定範圍內的資料時間段。這使資料分析師和工程師能夠以更有意義的方式從資料趨勢和模式中獲得見解。
例如,考慮一個每兩秒收集一次樣本的表。若要分析較長時間段內計數值的變化,您可能需要將樣本分組為 10 或 30 秒的視窗。透過對每個分段內的計數值進行求和或平均,您可以觀察在查看各個時間點時可能被遮蔽的模式。
MySQL 分段查詢
實現此目的在 MySQL 中進行資料分段時,您可以利用 GROUP BY 子句以及對 time_stamp 列進行算術運算。將每個樣本的 UNIX 時間戳記除以所需的間隔,您可以根據時間差將樣本分組為片段。
考慮以下查詢將樣本分組為 30 秒的片段:
GROUP BY UNIX_TIMESTAMP(time_stamp) DIV 30
此查詢將為資料時間範圍內的每 30 秒間隔建立群組。
自訂分段邊界
可以使用 GROUP BY 子句中的 r 表達式進一步自訂間隔邊界。透過在劃分之前將正整數值 r 新增至 UNIX 時間戳,您可以移動分段邊界。
例如,建立從hh:mm:05 開始到hh:mm 1 結束的20 秒分段:05:
GROUP BY (UNIX_TIMESTAMP(time_stamp) + 5) DIV 30
此查詢會將樣本分為20 秒的片段,第一個片段開始於hh:mm:05,最後一個片段結束於時:分1:05。
以上是如何使用 MySQL 將時間序列資料分組為自訂段?的詳細內容。更多資訊請關注PHP中文網其他相關文章!