在資料分析中,從前一行減去一個值是很常見的任務,但在處理分組資料時可能會帶來挑戰。 MySQL 提供了一種通用的方法來解決這種情況。
為了計算每個 SN 的連續行之間的能耗差,我們使用 MySQL 的系統變數(@lastSN 和 @lastValue)以及對資料進行單次傳遞的查詢:
<code class="language-sql">SELECT EL.SN, EL.Date, EL.Value, IF(@lastSN = EL.SN, EL.Value - @lastValue, 0.00) AS Consumption, @lastSN := EL.SN, @lastValue := EL.Value FROM EnergyLog EL, (SELECT @lastSN := 0, @lastValue := 0) SQLVars ORDER BY EL.SN, EL.Date;</code>
查詢的工作原理如下:
透過使用 MySQL 變量,我們實作了一種簡潔且有效率的解決方案,用於在分組查詢中根據前一個值計算能耗。
以上是如何在分組 MySQL 查詢中減去前一行的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!