

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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 Fensterfunktion PERCENTILE\$1DISC
<a name="r_WF_PERCENTILE_DISC"></a>

PERCENTILE\$1DISC ist eine Funktion für die inverse Verteilung, die ein diskretes Verteilungsmodell annimmt. Sie empfängt einen Perzentilwert und eine Sortierspezifikation und gibt ein Element aus dem angegebenen Satz zurück. 

PERCENTILE\$1DISC sortiert für den Perzentilwert P die Werte des Ausdrucks in der ORDER BY-Klausel und gibt den Wert mit dem kleinsten kumulativen Verteilungswert (in Bezug auf dieselbe Sortierspezifikation) zurück, der größer als oder gleich P ist. 

Sie können in der OVER-Klausel nur die PARTITION-Klausel angeben. 

## Syntax
<a name="r_WF_PERCENTILE_DISC-synopsis"></a>

```
PERCENTILE_DISC ( percentile )
WITHIN GROUP (ORDER BY expr)
OVER (  [ PARTITION BY expr_list ]  )
```

## Argumente
<a name="r_WF_PERCENTILE_DISC-arguments"></a>

 *percentile*   
Numerische Konstante zwischen 0 und 1. Null-Werte werden bei der Berechnung ignoriert.

WITHIN GROUP ( ORDER BY *expr*)   
Gibt numerische date/time Werte oder Werte an, nach denen das Perzentil sortiert und berechnet werden soll. 

OVER   
Gibt die Fensterpartitionierung an. Die OVER-Klausel darf keine Spezifikation für Fensteranordnungen oder Fensterrahmen enthalten.

PARTITION BY *expr*   
Optionales Argument, das den Datensatzbereich für die einzelnen Gruppen in der OVER-Klausel festlegt.

## Rückgabewert
<a name="r_WF_PERCENTILE_DISC-returns"></a>

Derselbe Datentyp wie der ORDER BY-Ausdruck in der WITHIN GROUP-Klausel.

## Beispiele
<a name="r_WF_PERCENTILE_DISC-examples"></a>

Im folgenden Beispiel wird die Tabelle WINSALES benutzt. Eine Beschreibung der Tabelle WINSALES finden Sie unter [Beispieltabelle mit Beispielen von Fensterfunktionen](c_Window_functions.md#r_Window_function_example). 

```
SELECT sellerid, qty, PERCENTILE_DISC(0.5) 
WITHIN GROUP (ORDER BY qty) 
OVER() AS MEDIAN FROM winsales;

+----------+-----+--------+
| sellerid | qty | median |
+----------+-----+--------+
| 3        | 10  | 20     |
| 1        | 10  | 20     |
| 1        | 10  | 20     |
| 4        | 10  | 20     |
| 3        | 15  | 20     |
| 2        | 20  | 20     |
| 2        | 20  | 20     |
| 3        | 20  | 20     |
| 1        | 30  | 20     |
| 3        | 30  | 20     |
| 4        | 40  | 20     |
+----------+-----+--------+

SELECT sellerid, qty, PERCENTILE_DISC(0.5) 
WITHIN GROUP (ORDER BY qty) 
OVER(PARTITION BY sellerid) AS MEDIAN FROM winsales;

+----------+-----+--------+
| sellerid | qty | median |
+----------+-----+--------+
| 4        | 10  | 10     |
| 4        | 40  | 10     |
| 3        | 10  | 15     |
| 3        | 15  | 15     |
| 3        | 20  | 15     |
| 3        | 30  | 15     |
| 2        | 20  | 20     |
| 2        | 20  | 20     |
| 1        | 10  | 10     |
| 1        | 10  | 10     |
| 1        | 30  | 10     |
+----------+-----+--------+
```

Benutzen Sie die folgenden Beispiele, um PERCENTILE\$1DISC(0.25) und PERCENTILE\$1DISC(0.75) für die Menge zu ermitteln, wenn nach der Verkäufer-ID partitioniert wird.

```
SELECT sellerid, qty, PERCENTILE_DISC(0.25) 
WITHIN GROUP (ORDER BY qty) 
OVER(PARTITION BY sellerid) AS quartile1 FROM winsales;

+----------+-----+-----------+
| sellerid | qty | quartile1 |
+----------+-----+-----------+
| 4        | 10  | 10        |
| 4        | 40  | 10        |
| 2        | 20  | 20        |
| 2        | 20  | 20        |
| 3        | 10  | 10        |
| 3        | 15  | 10        |
| 3        | 20  | 10        |
| 3        | 30  | 10        |
| 1        | 10  | 10        |
| 1        | 10  | 10        |
| 1        | 30  | 10        |
+----------+-----+-----------+

SELECT sellerid, qty, PERCENTILE_DISC(0.75) 
WITHIN GROUP (ORDER BY qty) 
OVER(PARTITION BY sellerid) AS quartile3 FROM winsales;

+----------+-----+-----------+
| sellerid | qty | quartile3 |
+----------+-----+-----------+
| 3        | 10  | 20        |
| 3        | 15  | 20        |
| 3        | 20  | 20        |
| 3        | 30  | 20        |
| 4        | 10  | 40        |
| 4        | 40  | 40        |
| 2        | 20  | 20        |
| 2        | 20  | 20        |
| 1        | 10  | 30        |
| 1        | 10  | 30        |
| 1        | 30  | 30        |
+----------+-----+-----------+
```