Skip to main content

Ms Sql Gleitender Durchschnitt

Ich versuche, eine laufende durchschnittliche Spalte in der SELECT-Anweisung auf einer Spalte aus den n vorherigen Zeilen in der gleichen SELECT-Anweisung haben. Der Durchschnitt, den ich brauche, basiert auf den n vorherigen Zeilen im Resultset. Die ersten 3 Zeilen der Spalte Average sind Null, da es keine vorherigen Zeilen gibt. Die Zeile 4 in der Spalte Mittel zeigt den Durchschnitt der Spalte Nummer aus den vorherigen 3 Zeilen an. Ich brauche etwas Hilfe versuchen, eine SQL-Select-Anweisung, die dies tun wird. Eine einfache Selbstverknüpfung scheint, viel besser als eine Zeile zu tun, die auf Unterabfrage verweist. Generiere 10k Zeilen von Testdaten: Ich würde den Spezialfall der ersten 3 Zeilen aus der Hauptabfrage herausziehen, Sie können UNION ALLE zurück in wenn Sie wirklich wollen Es in der Zeile gesetzt. Selbstverknüpfung Abfrage: Auf meiner Maschine dauert dies etwa 10 Sekunden, die Unterabfrage Ansatz, dass Aaron Alton demonstriert dauert etwa 45 Sekunden (nachdem ich es geändert, um meine Test-Source-Tabelle widerspiegeln): Wenn Sie ein SET STATISTICS PROFIL ON tun, können Sie die Self join hat 10k auf der Tischspule ausgeführt. Die Unterabfrage hat 10k Ausführungen auf dem Filter, Aggregat und andere steps. This ist eine Evergreen Joe Celko Frage. Ich ignoriere, welche DBMS-Plattform verwendet wird. Aber auf jeden Fall Joe war in der Lage, mehr als 10 Jahren mit Standard-SQL zu beantworten. Joe Celko SQL-Puzzles und Antworten Zitat: Der letzte Update-Versuch deutet darauf hin, dass wir das Prädikat verwenden können, um eine Abfrage, die uns einen gleitenden Durchschnitt geben würde: Ist die zusätzliche Spalte oder die Abfrage Ansatz besser Die Abfrage ist technisch besser, weil die UPDATE-Ansatz wird Denormalisierung der Datenbank. Wenn jedoch die historischen Daten, die aufgezeichnet werden, sich nicht ändern und die Berechnung des gleitenden Durchschnitts kostspielig ist, könnten Sie die Verwendung des Spaltenansatzes in Erwägung ziehen. SQL Puzzle-Abfrage: mit allen Mitteln einheitlich. Sie werfen nur auf den entsprechenden Gewichtskorb je nach Entfernung vom aktuellen Zeitpunkt. Zum Beispiel quottake Gewicht1 für Datenpunkte innerhalb von 24 Stunden von aktuellen Datenpunkt Gewicht0,5 für Datenpunkte innerhalb von 48hrsquot. In diesem Fall ist es wichtig, wieviel aufeinander folgende Datenpunkte (wie 6:12 Uhr und 11:48 Uhr) voneinander entfernt sind. Ein Anwendungsfall, den ich mir vorstellen kann, wäre ein Versuch, das Histogramm dort zu glätten, wo Datenpunkte nicht dicht genug sind ndash msciwoj Mai 27 15 at 22:22 Im nicht sicher, dass Ihr erwarteten Ergebnis (Ausgang) zeigt klassische einfache bewegen (rolling) Durchschnitt für 3 Tage. Denn zum Beispiel gibt das erste Dreibettzimmer von Zahlen per Definition: aber man erwartet 4.360 und seine Verwirrung. Trotzdem schlage ich die folgende Lösung vor, die die Fensterfunktion AVG verwendet. Dieser Ansatz ist viel effizienter (klarer und weniger ressourcenintensiv) als SELF-JOIN in anderen Antworten eingeführt (und ich bin überrascht, dass niemand eine bessere Lösung gegeben hat). Sie sehen, dass AVG wird mit Fall verpackt, wenn rownum gt p. days dann zu zwingen, NULL s in ersten Zeilen, wo 3 Tage Moving Average ist sinnlos. Wir können Joe Celkos dirty linken äußeren Join-Methode (wie zitiert von Diego Scaravaggi) anwenden, um die Frage zu beantworten, wie es gefragt wurde. Erstellt die angeforderte Ausgabe: beantwortet 9 Januar um 0:33 Ihre Antwort 2016 Stack Exchange, Inc


Comments

Popular posts from this blog

Berechnen Moving Average In Excel 2007

Moving Average Dieses Beispiel lehrt, wie Sie den gleitenden Durchschnitt einer Zeitreihe in Excel berechnen. Eine Bewegung wird verwendet, um Unregelmäßigkeiten (Spitzen und Täler) zu glätten, um Trends leicht zu erkennen. 1. Erstens, werfen wir einen Blick auf unsere Zeitreihe. 2. Klicken Sie auf der Registerkarte Daten auf Datenanalyse. Hinweis: Klicken Sie hier, um das Analyse-ToolPak-Add-In zu laden. 3. Wählen Sie Verschiebender Durchschnitt aus, und klicken Sie auf OK. 4. Klicken Sie im Feld Eingabebereich auf den Bereich B2: M2. 5. Klicken Sie in das Feld Intervall und geben Sie 6 ein. 6. Klicken Sie in das Feld Ausgabebereich und wählen Sie Zelle B3 aus. 8. Zeichnen Sie ein Diagramm dieser Werte. Erläuterung: Da wir das Intervall auf 6 setzen, ist der gleitende Durchschnitt der Durchschnitt der letzten 5 Datenpunkte und der aktuelle Datenpunkt. Als Ergebnis werden Spitzen und Täler geglättet. Die Grafik zeigt eine zunehmende Tendenz. Excel kann den gleitenden Durchschnitt für d...

Handel Mini Optionen Treue

Mini-Optionen: Ein nützliches Werkzeug für den Handel hochpreisige Wertpapiere Mini-Optionen sind Optionskontrakte, bei denen der Basiswert 10 Aktien eines börsengehandelten Fonds (ETF) ist. Dies ist der Hauptunterschied zwischen Mini-Optionen und Standard-Optionen. Die 100 Aktien als Basiswert haben. Mini-Optionen mit physischer Abrechnung begann am 18. März 2013 mit dem Handel auf der Chicago Board Options Exchange (CBOE), als Mini-Optionen auf die folgenden fünf Aktien und ETFs eingeführt wurden: Die Optionen-Symbol für diese Mini-Optionen ist leicht identifizierbar - die Zahl sieben ist einfach an das Sicherheitssymbol angehängt. So würde die Mini-Option-Serie für Amazon mit der Kennung AMZN7 starten, während das für Apple mit AAPL7 starten würde. Diese Mini-Optionen haben physische Abrechnung, was bedeutet, dass die tatsächlichen Aktien geliefert werden müssen, wenn die Position nicht vor dem Verfall geschlossen wird. Übung ist im amerikanischen Stil, was bedeutet, dass sie an jed...

Kurzfrist Zins Trading Strategien

Kurzfristige Zinsen Real-Time nach Stunden Pre-Market News Blitz Zitat Zusammenfassung Zitat Interaktive Charts Standardeinstellung Bitte beachten Sie, dass, sobald Sie Ihre Auswahl treffen, es gilt für alle künftigen Besuche NASDAQ gelten. Wenn Sie zu einem beliebigen Zeitpunkt daran interessiert sind, auf die Standardeinstellungen zurückzukehren, wählen Sie bitte die Standardeinstellung oben. Wenn Sie Fragen haben oder Probleme beim Ändern Ihrer Standardeinstellungen haben, senden Sie bitte eine E-Mail an isfeedbacknasdaq. Bitte bestätigen Sie Ihre Auswahl: Sie haben ausgewählt, Ihre Standardeinstellung für die Angebotssuche zu ändern. Dies ist nun Ihre Standardzielseite, wenn Sie Ihre Konfiguration nicht erneut ändern oder Cookies löschen. Sind Sie sicher, dass Sie Ihre Einstellungen ändern möchten, haben wir einen Gefallen zu bitten Bitte deaktivieren Sie Ihren Anzeigenblocker (oder aktualisieren Sie Ihre Einstellungen, um sicherzustellen, dass Javascript und Cookies aktiviert sind...