Monday, 9 October 2017

Sql Gleitender Durchschnitt


Ich versuche, effizient zu berechnen (mit SQL Server 2008) den gleitenden Durchschnitt der ProductCount über einen Zeitraum von 24 Stunden. Für jede einzelne Zeile in der Produkttabelle möchte Id wissen, was der Durchschnitt von ProductCount (für die angegebenen Produkte) in den letzten 24 Stunden war. Ein Problem mit unseren Daten ist, dass nicht alle Datumszeiten vorhanden sind (siehe Beispiel unten). Wenn ein TimeStamp fehlt, bedeutet dies, dass das ProductCount 0 war. Ich habe eine Tabelle mit Millionen oder Zeilen mit einem Datum, Produkt und Count. Unten ist ein vereinfachtes Beispiel für die Daten, mit denen ich zu tun habe. Jede Idee, wie man acheive, dass EDIT. Ein weiteres Datenelement, das ich benötige, ist der MIN und MAX ProductCount für den Zeitraum (d. h. 24h). Die Berechnung der MINMAX ist ein wenig schwieriger wegen der fehlenden Werte. Ich arbeite mit SQL Server 2008 R2, versucht, einen gleitenden Durchschnitt zu berechnen. Für jeden Datensatz meiner Ansicht möchte ich die Werte der 250 vorherigen Datensätze sammeln und dann den Durchschnitt für diese Selektion berechnen. Meine Ansichtsspalten sind wie folgt: TransactionID ist eindeutig. Für jede TransactionID. Ich möchte den Durchschnitt für Spaltenwert über 250 Datensätze berechnen. So für die TransactionID 300, sammeln Sie alle Werte aus früheren 250 Zeilen (Ansicht wird absteigend nach TransactionID sortiert) und dann in Spalte MovAvg das Ergebnis des Mittelwerts dieser Werte schreiben. Ich bin auf der Suche, um Daten in einer Reihe von Datensätzen zu sammeln. Gefragt 28. Oktober 14 um 20:58 Uhr

No comments:

Post a Comment