Arbeit verwende ich die folgende SQL die laufende Summe Datum einer Datenverarbeitungsfunktion zu berechnen:Mysql kumulative Summe nur manchmal
set @running_total := 0;
select date(event_date), (@running_total := @running_total + count(distinct de.iddocument)) AS cumulative_sum , count(distinct de.iddocument)
from document_event as de
left join document as d on d.iddocument = de.iddocument
where d.iddatastream = 142
and de.event_type = 'RESEARCHED'
and de.update_by_id is not null
group by date(event_date);
Diese SQL perfekt für ein Jahr gearbeitet haben, aber auf dem neuesten Stand Charge von Daten berechnet es nicht mehr die laufende Summe, es zeigt nur die Gesamtzahl der Tage an.
z.B. das ist, was es auf meinem älteren Daten hat:
+------------------+----------------+-------+
| date(event_date) | cumulative_sum | count |
+------------------+----------------+-------+
| 2015-11-09 | 167 | 167 |
| 2015-11-10 | 329 | 162 |
| 2015-11-11 | 775 | 446 |
| 2015-11-12 | 1151 | 376 |
| 2015-11-13 | 1680 | 529 |
| 2015-11-16 | 2266 | 586 |
| 2015-11-17 | 2837 | 571 |
| 2015-11-18 | 3590 | 753 |
| 2015-11-19 | 4162 | 572 |
+------------------+----------------+-------+
und das ist, was es auf meinem neuesten Daten hat:
+------------------+----------------+-------+
| date(event_date) | cumulative_sum | count |
+------------------+----------------+-------+
| 2016-04-20 | 6 | 6 |
| 2016-04-21 | 91 | 91 |
| 2016-04-22 | 151 | 151 |
| 2016-04-26 | 239 | 239 |
| 2016-04-27 | 203 | 203 |
| 2016-04-28 | 312 | 312 |
| 2016-04-29 | 374 | 374 |
| 2016-05-02 | 368 | 368 |
| 2016-05-03 | 226 | 226 |
+------------------+----------------+-------+
Wie ist es möglich, dass die laufende Summe nicht mehr berechnet werden?
Irgendwelche Ideen geschätzt!
Brilliant, das macht den Trick, sind Sie in der Lage zu erarbeiten, warum Ihr man arbeitet? – danspants
@danspants. . . Ach, ich kann das nicht wirklich ausführen. Ich habe beobachtet, dass Variablen manchmal nicht an 'Group-by'-Abfragen arbeiten, weil die Reihenfolge der Auswertung des' select' nicht in der richtigen Reihenfolge ist. Die Materialisierung der 'Gruppe durch' in einer Unterabfrage behebt dieses Problem. –