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 MIN gibt den mindestens erforderlichen Wert der Eingabeausdruckswerte zurück. Die Funktion MIN ist mit numerischen Werten kompatibel und ignoriert NULL-Werte.
Syntax
MIN ( [ ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )
Argumente
- Ausdruck
-
Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird.
- ALL
-
Mit dem Argument ALL behält die Funktion alle duplizierten Werte aus dem Ausdruck bei. ALL ist das Standardargument. DISTINCT wird nicht unterstützt.
- OVER
-
Gibt die Fensterklauseln für die Aggregationsfunktionen an. Die OVER-Klausel unterscheidet Fensteraggregationsfunktionen von normalen Satzaggregationsfunktionen.
- PARTITION BY expr_list
-
Definiert das Fenster für die MIN-Funktion in Bezug auf mindestens einen Ausdruck.
- ORDER BY order_list
-
Sortiert die Zeilen innerhalb der einzelnen Partitionen. Wenn PARTITION BY nicht angegeben ist, verwendet ORDER BY die gesamte Tabelle.
- frame_clause
-
Wenn eine ORDER BY-Klausel für eine Aggregationsfunktion verwendet wird, ist eine explizite Rahmenklausel erforderlich. Die Rahmenklausel gibt den Satz von Zeilen im Fenster einer Funktion genauer an, einschließlich oder ausschließlich Sätzen von Zeilen innerhalb des geordneten Ergebnisses. Die Rahmenklausel besteht aus dem Schlüsselwort ROWS und verknüpften Spezifikatoren. Siehe Übersicht über die Syntax von Fensterfunktionen.
Datentypen
Akzeptiert alle Datentypen als Eingabe. Gibt denselben Datentyp wie expression zurück.
Beispiele
Das folgende Beispiel zeigt die Verkaufs-ID, die Menge und die Mindestmenge ab dem Beginn des Datenfensters an:
select salesid, qty,
min(qty) over
(order by salesid rows unbounded preceding)
from winsales
order by salesid;
salesid | qty | min
---------+-----+-----
10001 | 10 | 10
10005 | 30 | 10
10006 | 10 | 10
20001 | 20 | 10
20002 | 20 | 10
30001 | 10 | 10
30003 | 15 | 10
30004 | 20 | 10
30007 | 30 | 10
40001 | 40 | 10
40005 | 10 | 10
(11 rows)
Eine Beschreibung der Tabelle WINSALES finden Sie unter Beispieltabelle mit Beispielen von Fensterfunktionen.
Das folgende Beispiel zeigt die Verkaufs-ID, die Menge und die Mindestmenge in einem eingeschränkten Rahmen an:
select salesid, qty,
min(qty) over
(order by salesid rows between 2 preceding and 1 preceding) as min
from winsales
order by salesid;
salesid | qty | min
---------+-----+-----
10001 | 10 |
10005 | 30 | 10
10006 | 10 | 10
20001 | 20 | 10
20002 | 20 | 10
30001 | 10 | 20
30003 | 15 | 10
30004 | 20 | 10
30007 | 30 | 15
40001 | 40 | 20
40005 | 10 | 30
(11 rows)