計算MySQL SELECT 語句中行之間的差異
問題:
問題:SELECT mt1.ID, mt1.Kilometers, mt1.date, mt1.Kilometers - IFNULL(mt2.Kilometers, 0) AS number_km_since_last_date FROM myTable mt1 LEFT JOIN myTable mt2 ON mt2.Date = ( SELECT MAX(Date) FROM myTable mt3 WHERE mt3.Date < mt1.Date ) ORDER BY mt1.date
替代解決方案:
另一種方法涉及使用MySQL 模擬lag() 函數hackiness:SET @kilo=0; SELECT mt1.ID, mt1.Kilometers - @kilo AS number_km_since_last_date, @kilo := mt1.Kilometers Kilometers, mt1.date FROM myTable mt1 ORDER BY mt1.date
結果:
兩種方法都成功計算排序表中連續行之間的公里數差異,從而產生一個提供所需附加值的視圖資訊。以上是如何計算 MySQL SELECT 語句中行之間的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!