Wie erstelle ich eine benutzerdefinierte Fensterfunktion für PostgreSQL? (Laufender Durchschnitt, Beispiel)

Ich möchte wirklich besser verstehen, worum es beim Erstellen einer UDF geht, die über Windows in PostgreSQL ausgeführt wird. Ich habe einige Nachforschungen darüber angestellt, wie UDFs im Allgemeinen erstellt werden, habe aber kein Beispiel dafür gefunden, wie man eine UDF erstellt, die über ein Fenster ausgeführt wird.

Zu diesem Zweck hoffe ich, dass jemand bereit ist, Code für das Schreiben einer UDF (in C, pl / SQL oder einer von PostgreSQL unterstützten prozeduralen Sprache) freizugeben, der den laufenden Durchschnitt der Zahlen in einem Fenster berechnet. Ich erkenne, dass es Möglichkeiten gibt, dies durch Anwenden der Standardfunktion für Durchschnittsaggregate mit der Fenstersyntax (Zeilen zwischen den Syntaxen, glaube ich) zu tun. Ich frage einfach nach dieser Funktionalität, weil ich denke, dass sie ein gutes einfaches Beispiel darstellt. Ich denke auch, wenn es eine Fensterversion der Durchschnittsfunktion gäbe, dann könnte die Datenbank eine laufende Summe und Beobachtungszahl führen und würde nicht bei jeder Iteration fast identische Reihen von Reihen zusammenfassen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage