Postgresql Median -Funktion

Postgresql Median -Funktion
Der berechnende Median ist zwingend, den mittleren Wert aus den Daten zu erhalten. Wie viele andere Funktionen bietet PostgreSQL im Umgang mit der mittleren Funktion eine Vielzahl an Vielseitigkeit. Es geht darum, den Medianwert aus der Spalte der Tabelle zu finden, in der der Median verwendet wird. Im Gegensatz zur Anzahl von PostgreSQL -Aggregat -Funktionen wird keine bestimmte Funktion verwendet, um das Aggregat des Median zu berechnen. Median ist eine benutzerdefinierte Funktion.

In einfachen arithmetischen Funktionen gibt es unterschiedliche Mittel und Formeln, um den Median in den bereitgestellten Daten entweder in einfachem Text oder in der tabellarischen Form zu finden. Im Fall von Datenbanksystemen verwenden wir einige andere integrierte Funktionen zusammen, um den Wert des Median zu erhalten. Dieser Artikel wird einige der effizientesten Techniken und eine manuelle Funktion, die uns erstellt hat, um den Median aus den Daten in Postgreql zu holen, erläutert.

Verwendung von Percentile_Count () und Percentile_disc ()

Beide sind die Möglichkeiten, Median auf etwas anders zu werden. Weil der Unterschied in ihren resultierenden Werten auf ihren Methoden basiert. Perzentil bezieht sich darauf, den Datenwert mit einem Prozentsatz von pro Hundert darzustellen. Aber für den Median verwenden wir (0.5) Wert. Der Hauptunterschied zwischen beiden besteht darin, dass Percentile_Count () den Wert interpoliert und seine Arbeit auf der kontinuierlichen Verteilung der Werte basiert, während Perzentile_disc () den Wert aus den angegebenen Daten zurückgibt und auf der Berechnung des Perzentils auf der diskreten Verteilung beruht.

Die Syntax für diese beiden Perzentile ist:

Wählen Sie Percentile_Count (0).5) innerhalb der Gruppe (Reihenfolge nach x) aus den Werten (a), (b), (c), (d)) v (x);
Wählen Sie Percentile_disc (0).5) innerhalb der Gruppe (Reihenfolge nach x) aus den Werten (a), (b), (c), (d)) v (x);

Für die angegebenen Werte gibt Percentile_DISC die einzigen Werte zurück, die in den Daten vorhanden sind. Perzentile_Count berechnet den Median für die Werte. Zum Beispiel zwischen den geraden Zahlen. Im obigen Beispiel gibt Percentile_Count "5" die Zahl zwischen den 3 und 7 Werten an. Und Perzentile_disc zeigt 7 vom Abstieg. Da der Wert für diese Funktion immer von den verfügbaren Daten liegt. Daher liefert es nach Berechnungen den engsten Wert des Medianes.

Da die Daten in der PostgreSQL in den Beziehungen (Tabelle) vorhanden sind, wird das Perzentil auf die Spalte eines numerischen Werts (Lohn) angewendet. Wir haben eine Tabelle namens Professor erstellt. Die folgende Abfrage hilft uns, zuerst die Tabellenattribute zu veranschaulichen und dann die Percentile_disc () darauf anzuwenden.

>> aus Professor auswählen; Wählen Sie Percentile_disc (0).5) Innerhalb der Gruppe (Bestellung nach Beruf.bezahlen) von Professor;

Die erste Hälfte der Abfrage zeigt den Inhalt der Tabelle an. Während der zweite Teil den Perzentilwert auswählt. Hier wird eine Bestellung nach Klausel angewendet. Diese Klausel arrangiert die Elemente der entsprechenden Spalte in aufsteigender Reihenfolge und wendet dann die Funktion darauf an. Die Spalte (Pay) wird verwendet, damit diese Abfrage ausgeführt wird.

Nach der Ausführung ist das Ergebnis 51, ein deutlicher Wert, der durch die Perzentilfunktion erhalten wird. Um es klarer zu machen, wird ein einfaches „ntiles“ von 100 verwendet, um jedes Element der Spalte in aufsteigender Reihenfolge zu ordnen.

>> Professor auswählen. bezahlen, ntile (100) über (Bestellung von Professor. bezahlen) von Professor;

Der oben genannte Befehl vermittelt die Spalte „Pay“ aus der Tabelle. Es hat es einfacher gemacht zu verstehen, wie Percentile_disc funktionieren wird. Da die Gesamtzahlen in der Spalte „Pay“ 8 Zeilen sind, die gerade sind. Es ist also schwierig, die genaue Mittelpunkt der Daten zu erhalten. Disc () wird für den nächsten Wert gehen. Das ist „51“ gemäß der aufsteigenden Reihenfolge.

Im Fall von Percentile_Count ist der Rest des Befehls gleich, aber die Funktion wird von Disc zu Contal geändert. Da der Name die Arbeit von Percentile_cont angibt, liegt der Wert in Form von Kontinuität, was bedeutet, bisher kein Ende zu beenden. Daher wird das Ergebnis immer in Dezimalform sein. Dies wird die Mitte von zwei benachbarten Zahlen verleihen. Mit anderen Worten, diese Funktion holt die beiden in der Mitte der Spalte vorhandenen Zahlen im Fall von ebenen Zahlen ab.

>> Wählen Sie Percentile_Count (0).5) innerhalb der Gruppe (Reihenfolge von Profrssor.bezahlen) von Professor;

Zwischen 51 und 52 ist es „51.5 ”ist der genaue kontinuierliche Wert des Medianes in der Spalte„ Pay “.

Sie können auch den Perzentilwert in jeder Funktion ändern. Zum Beispiel verwenden wir 0.25, 0.5 und 0.75 als Parameter in Percentile_disc ().

Perzentile_disc (0.25)
Perzentile_disc (0.5)
Perzentile_dic (0.75)

Alle Werte werden gemeinsam in einer Zeile mit dieser Syntax in der Funktion angezeigt. Betrachten Sie den von uns angehängten Snap, der den Ntil der Spalte zeigt. Alle Werte werden in aufsteigender Reihenfolge sortiert. Wenn 0.5 führt zum Wert "51", dann für 0.25, es ist 8 und für „0.75 ”es ist 77. Wie es die bei ID 4 vorhandene Nummer ist, also für 0.25, es wird gemäß der 4. ID berechnet. Und ähnlich ist bei 0 der Fall.75.

Verwendung der Funktion für den Median

Um die Funktion für die Berechnung des Median der Tabelle durchzusetzen, müssen wir eine neue Stichprobentabelle haben. Nach der Erstellung werden die Werte hinzugefügt, um es im Funktionszustand zu schaffen. Die temporäre Tabelle wird verwendet, da wir diese Daten für eine längere Zeit nicht benötigen, um in der Datenbank zu existieren.

>> Temporäre Tabelle Median erstellen (ID Serisl, Klasse Varchar (50), Name Varchar (50), Graddezimaler (5,1)); >> In Median (Klasse, Name, Note) Werte ('x', 'y', z) einfügen;

Nach der Einführung des Wertes werden wir einen Einblick in die eingefügten Daten werfen. Verwenden Sie zu diesem Zweck die Auswahlanweisung.

>> aus dem Median auswählen,

In dieser Funktion wird der Median für jede Klasse separat berechnet. Diese Partitionierung entspricht der Klassenspalte. Die Daten werden sowohl in ASC- als auch in DESC -Bestellungen sortiert. Eine neue Funktion wird hier die Zeilennummer initialisiert (). Dadurch wird die Zeilennummer abgerufen und anschließend Operationen danach anwendet. Schauen wir uns den Code an. Dann werden wir es ausbrechen, um zu sehen, was hier passiert, um den Median zu bekommen.

Der Befehl auswählen wird verwendet, der die Unterabfrage einführt. Diese Unterabfrage verwendet diese Zeilennummer (), die die Zeilen in aufsteigender und absteigender Reihenfolge anordnet. Für jede Klasse werden Bestellungen für Zeilennummern verwendet.

Wenn Sie auf der Suche nach dem Median in der Liste der Werte in gleichmäßigen Zahlen suchen. Dies geschieht in diesem Befehl, um den Median zu bekommen.

Rowasc in (Rowdesc, Rowdesc - 1, Rowdesc + 1)

Der Ergebnis wird von der Unterabfrage in die Hauptanfrage zurückgeschickt. Und dann wird ein Durchschnitt berechnet. Für die Mathematik bekommen wir 72.0, die erwartete Mitte im Fall einer ungeraden Werteliste. Während der Wissenschaft ist es 76.5. Es hat eine gleichmäßige Zahl in wissenschaftlichen Fächern, also erhalten wir Mitte von 72 und 81.

Abschluss

PostgreSQL Median-Funktion erleichtert die Suche nach dem Mittelpunkt in einfachen oder tabellarischen Daten als manuell zu berechnen. Obwohl es sich um eine vom vom Benutzer erstellte Funktion handelt, wird einige integrierte Funktionen verwendet, um den entsprechenden Datensatz abzurufen. Perzentile_Cont und Perzentile_disc gelten als der Kern des zu diskutierten Themas. Als stille Unterstützung bei der Bereitstellung eines mittleren Konzepts in der Funktion ist bemerkenswert. Alle diese Funktionen reichen jedoch aus, um den Median zu finden.