I Greenplum DB bin mit und ich mag Median in einem Fenster berechnen, so etwas wie:Benutzerdefinierte Greenplum Aggregatfunktion mit Fenstern
SELECT avg(var1) OVER (PARTITION BY var2 ORDER BY datetime
ROWS BETWEEN 10 PRECEDING AND CURRENT ROW) FROM tbl...
Leider Median in Postgres nicht implementiert ist, so habe ich mein eigenes Aggregat mit diesem Beispiel:
Das Problem ist, dass dies funktioniert, wenn ich die gesamte Spalte verwenden, aber nicht in einem Fenster (mit OVER-Klausel) Fehler zurückgegeben wird, dass 'vorgeben' sollte definiert werden. Greenplum Dokumentation bestätigt, dass: http://gpdb.docs.pivotal.io/4380/ref_guide/sql_commands/CREATE_AGGREGATE.html
Die Dokumentation und die Rolle von Prefunc ist nicht sehr klar für mich. Haben Sie ein Beispiel für die Definition einer benutzerdefinierten Postgres-Aggregatfunktion, die Windows unterstützt?
Es funktioniert, danke für die Erklärung 'PREFUNC' – Lukasz
Großartig, froh, dass es hilfreich @Lukasz war. Wenn Sie die Antwort würdig finden, würde ich mich über eine positive Bewertung und die Anerkennung freuen (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). –