Soustraire une valeur de la ligne précédente est une tâche courante dans l'analyse des données, mais peut présenter des défis lorsque vous travaillez avec des données groupées. MySQL fournit une méthode générale pour résoudre cette situation.
Pour calculer la différence de consommation d'énergie entre des lignes consécutives pour chaque SN, nous utilisons les variables système de MySQL (@lastSN et @lastValue) et une requête qui effectue un seul passage sur les données :
<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>
Les requêtes fonctionnent comme suit :
En utilisant des variables MySQL, nous avons implémenté une solution simple et efficace pour calculer la consommation d'énergie en fonction de la valeur précédente dans une requête groupée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!