Ich habe eine sehr einfache Übersichtstabelle, die 2 Felder in einer Tabelle zusammenfasst, in der Datensätze in 15-Minuten-Intervallen gesammelt werden. Damit;MySQL Übersichtstabelle - bewerten und anpassen
SELECT timevalue, SUM(value1) AS sumvalue1, SUM(value2) AS sumvalue2
FROM table
GROUP BY timevalue
gibt die Ergebnisse zurück, die ich erwarten würde;
timevalue sumvalue1 sumvalue2
-------------------------------------
16/08/2016 08:30 3000 200
16/08/2016 08:45 3200 150
16/08/2016 09:00 3100 400
16/08/2016 09:15 3300 450
16/08/2016 09:30 3400 600
Meine Frage ist, gibt es eine Möglichkeit, dass jeder Summenwert zu überprüfen, ist nie weniger als der vorherige Wert? und wenn es die Summe vom vorherigen timeval zurückgibt? (also sind die Summenwerte immer gleich oder größer als der vorherige Zeitwert).
Die Ergebnistabelle sollte dann so aussehen;
timevalue sumvalue1 sumvalue2
-------------------------------------
16/08/2016 08:30 3000 200
16/08/2016 08:45 3200 200
16/08/2016 09:00 3200 400
16/08/2016 09:15 3300 450
16/08/2016 09:30 3400 600
Ich schätze, ich brauche eine Art von if-Anweisung? Irgendwelche Ideen, wie man das erreicht?
Vielen Dank
Hi Abhik, das Demo funktioniert super, aber sumv alue1 und sumvalue 2 sind berechnete Felder. Wenn ich mehr Werte in mytable einfüge und dann versuche, den sumvalue1 und sumvalue2 zu sum (sumvalue1) und sum (sumvalue2) zusammen mit adding group nach timevalue zu ändern, erhalte ich nur die tatsächlich berechneten Zahlen. Nicht die bereinigten Zahlen .... – EllBrandon
'select ZeitWert, sumvalue_1 als sumvalue1, sumvalue_2 als sumvalue2 von ( wählen ZeitWert, if (@ prev_val1 = sum (sumvalue1) oder @ prev_val1> Summe (sumvalue1), @ prev_val1, sum (sumvalue1)) als sumvalue_1, if (@ prev_val2 = Summe (Summe2) oder @Vor_Val2> Summe (SummeWert2), @Vorv2, Summe (SummeWert2)) als SummeWert2, @Vorausgabe1: = Summe (SummeWert1), @ prev_val2: = SUMME (sumvalue2) von mytable, (select @ prev_val1: = 0, @ prev_val2: = 0) x Gruppe von ZeitWert Auftrag von ZeitWert ) x Auftrag von timevalue' – EllBrandon
Ja können Sie die EXA ändern mple Abfrage und legen Sie Ihre ursprüngliche Abfrage als innere Abfrage etwas als anstelle von 'von Mytable' können Sie haben' von (wählen Sie Ihre tatsächliche Abfrage) x, (....) ' –