PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

RANGE PRECEDING wird nur mit UNBOUNDED unterstützt

Yep ... Die Fensterfunktionen von PostgreSQL implementieren noch keine Bereiche.

Ich hatte viele Situationen, in denen sie nützlich gewesen wären, aber es ist viel Arbeit, sie zu implementieren, und die Zeit ist begrenzt.

Sie müssen einen linken Join über generate_series verwenden (und gegebenenfalls Aggregation), um den Bereich in eine regelmäßige Folge von Zeilen umzuwandeln, Nullzeilen einzufügen, wo keine Daten vorhanden sind, und mehrere Daten innerhalb einer Sekunde zu einem einzelnen Wert zu kombinieren, wo mehrere Werte vorhanden sind.

Dann machst du einen (ROWS n PRECEDING ...) Fenster über den links verbundenen und aggregierten Daten, um den laufenden Durchschnitt zu erhalten.