Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
La funzione finestra MIN restituisce il minimo dei valori dell'espressione di input. La funzione MIN funziona con i valori numerici e ignora i valori NULL.
Sintassi
MIN ( [ ALL ] expression ) OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )
Argomenti
- expression
-
L'espressione o colonna di destinazione su cui viene eseguita la funzione.
- ALL
-
Con l'argomento ALL, la funzione mantiene tutti i valori duplicati dall'espressione. ALL è il valore predefinito. DISTINCT non è supportato.
- OVER
-
Specifica le clausole finestra per le funzioni di aggregazione. La clausola OVER distingue le funzioni di aggregazione delle finestre dalle normali funzioni di aggregazione dell'insieme.
- PARTITION BY expr_list
-
Definisce la finestra per la funzione MIN in termini di una o più espressioni.
- ORDER BY order_list
-
Ordina le righe all'interno di ogni partizione. Se non viene specificato nessun PARTITION BY, ORDER BY utilizza l'intera tabella.
- frame_clause
-
Se una clausola ORDER BY viene utilizzata per una funzione di aggregazione, è necessaria una clausola del frame esplicita. La clausola frame raffina l'insieme di righe in una finestra della funzione, includendo o escludendo insieme di righe all'interno del risultato ordinato. La clausola frame è composta dalla parola chiave ROWS e dagli specificatori associati. Per informazioni, consultare Riepilogo della sintassi della funzione finestra.
Tipi di dati
Accetta qualsiasi tipo di dati come input. Restituisce lo stesso tipo di dati come espressione.
Esempi
Nel seguente esempio sono riportati l'ID vendite, la quantità e la quantità minima dall'inizio della finestra dei dati:
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)
Per una descrizione della tabella WINSALES, consultare Tabella di esempio per gli esempi della funzione finestra.
Nel seguente esempio sono mostrati l'ID di vendita, la quantità e la quantità minima in un frame limitato:
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)