Heim >Datenbank >MySQL-Tutorial >Wie subtrahiere ich den Wert der vorherigen Zeile in einer gruppierten MySQL-Abfrage?
Das Subtrahieren eines Werts von der vorherigen Zeile ist eine häufige Aufgabe bei der Datenanalyse, kann jedoch bei der Arbeit mit gruppierten Daten eine Herausforderung darstellen. MySQL bietet eine allgemeine Methode zur Lösung dieser Situation.
Um den Unterschied im Energieverbrauch zwischen aufeinanderfolgenden Zeilen für jede SN zu berechnen, verwenden wir die Systemvariablen von MySQL (@lastSN und @lastValue) und eine Abfrage, die einen einzigen Durchgang über die Daten durchführt:
<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>
Abfragen funktionieren wie folgt:
Durch die Verwendung von MySQL-Variablen haben wir eine einfache und effiziente Lösung zur Berechnung des Energieverbrauchs basierend auf dem vorherigen Wert in einer gruppierten Abfrage implementiert.
Das obige ist der detaillierte Inhalt vonWie subtrahiere ich den Wert der vorherigen Zeile in einer gruppierten MySQL-Abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!