Die Funktion MEDIAN - AWS Clean Rooms

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die Funktion MEDIAN

Berechnet den Medianwert für den Wertebereich. NULL-Werte im Bereich werden ignoriert.

MEDIAN ist eine Funktion für die inverse Verteilung, die ein kontinuierliches Verteilungsmodell annimmt.

MEDIAN ist ein Spezialfall von PERCENTILE_CONT(.5).

MEDIAN ist eine reine Datenverarbeitungsknoten-Funktion. Die Funktion gibt einen Fehler zurück, wenn die Abfrage nicht auf eine benutzerdefinierte Tabelle oder AWS Clean Rooms Systemtabelle verweist.

Syntax

MEDIAN ( median_expression )

Argumente

median_expression

Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird.

Datentypen

Der Rückgabetyp wird durch den Datentyp von median_expression festgelegt. Die folgende Tabelle zeigt den Rückgabetyp für jeden median_expression-Datentyp an.

Input type Rückgabetyp
NUMERIC, DECIMAL DECIMAL
FLOAT, DOUBLE DOUBLE
DATUM DATUM
TIMESTAMP TIMESTAMP
TIMESTAMPTZ TIMESTAMPTZ

Nutzungshinweise

Wenn das Argument median_expression den Datentyp DECIMAL hat und mit der maximal zulässigen Präzision von 38 Stellen definiert ist, gibt MEDIAN möglicherweise ein falsches Ergebnis oder einen Fehler zurück. Wenn der Rückgabewert der Funktion MEDIAN 38 Stellen überschreitet, wird das Ergebnis entsprechend abgekürzt. Dies führt zu einem Genauigkeitsverlust. Wenn während der Interpolierung ein Zwischenergebnis die maximal zulässige Genauigkeit überschreitet, erfolgt ein numerischer Überlauf und die Funktion gibt einen Fehler zurück. Um diese Bedingungen zu vermeiden, werden die Verwendung eines Datentyps mit einer niedrigeren Genauigkeit oder die Umwandlung des Arguments median_expression in ein Argument mit niedrigerer Genauigkeit empfohlen.

Wenn eine Anweisung mehrere Aufrufe von sortierbasierten Aggregationsfunktionen enthält (LISTAGG, PERCENTILE_CONT oder MEDIAN), müssen alle dieselben ORDER BY-Werte verwenden. Beachten Sie, dass MEDIAN implizit eine Reihenfolge nach dem Wert des Ausdrucks anwendet.

Die folgende Anweisung gibt beispielsweise einen Fehler zurück.

select top 10 salesid, sum(pricepaid), percentile_cont(0.6) within group (order by salesid), median (pricepaid) from sales group by salesid, pricepaid; An error occurred when executing the SQL command: select top 10 salesid, sum(pricepaid), percentile_cont(0.6) within group (order by salesid), median (pricepaid) from sales group by salesid, pricepai... ERROR: within group ORDER BY clauses for aggregate functions must be the same

Die folgende Anweisung wird erfolgreich ausgeführt.

select top 10 salesid, sum(pricepaid), percentile_cont(0.6) within group (order by salesid), median (salesid) from sales group by salesid, pricepaid;

Beispiele

Das folgende Beispiel zeigt, dass MEDIAN dieselben Ergebnisse wie PERCENTILE_CONT(0.5) produziert.

select top 10 distinct sellerid, qtysold, percentile_cont(0.5) within group (order by qtysold), median (qtysold) from sales group by sellerid, qtysold; sellerid | qtysold | percentile_cont | median ---------+---------+-----------------+------- 1 | 1 | 1.0 | 1.0 2 | 3 | 3.0 | 3.0 5 | 2 | 2.0 | 2.0 9 | 4 | 4.0 | 4.0 12 | 1 | 1.0 | 1.0 16 | 1 | 1.0 | 1.0 19 | 2 | 2.0 | 2.0 19 | 3 | 3.0 | 3.0 22 | 2 | 2.0 | 2.0 25 | 2 | 2.0 | 2.0