PostgreSQL entspricht der Oracle-PERCENTILE_CONT Funktion
Es hat sich jemand gefunden, der eine PostgreSQL-entspricht der Oracle-PERCENTILE_CONT Funktion? Ich suchte und konnte nicht finden, also schrieb ich meine eigenen.
Hier ist die Lösung, die ich hoffe, dass hilft Ihnen aus.
Die Firma für die ich arbeite, wollte migrieren einer Java-EE web-Anwendung von der Verwendung einer Oracle-Datenbank auf PostgreSQL. Mehrere gespeicherte Prozeduren beruhten hauptsächlich auf der Verwendung von Oracle einzigartigen PERCENTILE_CONT () - Funktion. Diese Funktion existiert nicht in der PostgreSQL.
Ich versucht, auf der Suche, um zu sehen, ob jemand "übertragen" die Funktion in PG ohne Erfolg.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach mehr suchen fand ich eine Seite mit der Liste der pseudo-code, wie Oracle implementiert diese Funktion an :
http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions110.htm
Ich bestimmt schreiben meiner eigenen Funktion innerhalb der PG zu imitieren, um die Oracle-Funktion.
Fand ich ein array Sortieren Technik, die von David Fetter at ::
http://postgres.cz/wiki/PostgreSQL_SQL_Tricks#General_array_sort
und
Sortieren von array-Elementen
Hier (für Klarheit) ist Davids code:
So, hier ist die Funktion, die ich schrieb :
Hier sind die Ergebnisse der Vergleichsprüfungen:
Hier ist die Testdaten :
Hier der Vergleich Ergebnisse :
Ich hoffe, dies hilft jemand aus, indem nicht das Rad neu zu erfinden.
Genießen!
Ray Harris
Mit PostgreSQL 9.4 gibt es native Unterstützung für Perzentile jetzt, umgesetzt in Bestellt-Set Aggregatfunktionen:
Finden Sie in der Dokumentation für weitere details: http://www.postgresql.org/docs/current/static/functions-aggregate.html