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à.
LAST_ funzione VALUE window
Dato un insieme ordinato di righe, la VALUE funzione LAST _ restituisce il valore dell'espressione rispetto all'ultima riga del frame.
Per informazioni sulla selezione della prima riga nel frame, consulta FIRSTfunzione _ VALUE window.
Sintassi
LAST_VALUE( expression )[ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY expr_list ] [ ORDER BY order_list frame_clause ] )
Argomenti
- espressione
-
L'espressione o colonna di destinazione su cui viene eseguita la funzione.
- IGNORE NULLS
-
La funzione restituisce l'ultimo valore nel frame che non lo è NULL (o NULL se tutti i valori lo sonoNULL).
- RESPECT NULLS
-
Indica che Amazon Redshift dovrebbe includere valori null nella determinazione della riga da utilizzare. RESPECTNULLSè supportato di default se non lo si specifica IGNORENULLS.
- OVER
-
Presenta le clausole finestra per la funzione.
- PARTITIONDI expr_list
-
Definisce la finestra per la funzione in termini di una o più espressioni.
- ORDERDI order_list
-
Ordina le righe all'interno di ogni partizione. Se non viene specificata alcuna clausola PARTITION BY, ORDER BY ordina l'intera tabella. Se si specifica una clausola ORDER BY, è necessario specificare anche una frame_clause.
I risultati dipendono dall'ordinamento dei dati. I risultati sono non deterministici nei seguenti casi:
-
Quando non viene specificata alcuna clausola ORDER BY e una partizione contiene due valori diversi per un'espressione
-
Quando l'espressione restituisce valori diversi che corrispondono allo stesso valore nell'ORDERelenco BY.
-
- frame_clause
-
Se viene utilizzata una clausola ORDER BY per una funzione aggregata, è necessaria una clausola frame esplicita. La clausola frame raffina l'insieme di righe in una finestra della funzione, includendo o escludendo insieme di righe nel risultato ordinato. La clausola frame è composta dalla parola chiave e dagli specificatori associatiROWS. Per informazioni, consulta Riepilogo della sintassi della funzione finestra.
Tipo restituito
Queste funzioni supportano le espressioni che usano tipi di dati primitivi di Amazon Redshift. Il tipo restituito è lo stesso del tipo di dati di expression.
Esempi
Gli esempi seguenti utilizzano la VENUE tabella dei dati di esempio. TICKIT Per ulteriori informazioni, consulta Database di esempio.
L'esempio seguente restituisce la capienza di ogni sala della VENUE tabella, con i risultati ordinati per capienza (dal più alto al più basso). La VALUE funzione LAST _ viene utilizzata per selezionare il nome della sede che corrisponde all'ultima riga del riquadro: in questo caso, la fila con il minor numero di posti. I risultati sono partizionati per stato, quindi quando il VENUESTATE valore cambia, viene selezionato un nuovo ultimo valore. Il frame della finestra è illimitato, quindi lo stesso ultimo valore è selezionato per ogni riga in ogni partizione.
Per la California, Shoreline Amphitheatre
viene restituito per ogni riga nella partizione perché ha il numero più basso di posti (22000
).
select venuestate, venueseats, venuename, last_value(venuename) over(partition by venuestate order by venueseats desc rows between unbounded preceding and unbounded following) from (select * from venue where venueseats >0) order by venuestate;
venuestate | venueseats | venuename | last_value -----------+------------+--------------------------------+------------------------------ CA | 70561 | Qualcomm Stadium | Shoreline Amphitheatre CA | 69843 | Monster Park | Shoreline Amphitheatre CA | 63026 | McAfee Coliseum | Shoreline Amphitheatre CA | 56000 | Dodger Stadium | Shoreline Amphitheatre CA | 45050 | Angel Stadium of Anaheim | Shoreline Amphitheatre CA | 42445 | PETCO Park | Shoreline Amphitheatre CA | 41503 | AT&T Park | Shoreline Amphitheatre CA | 22000 | Shoreline Amphitheatre | Shoreline Amphitheatre CO | 76125 | INVESCO Field | Coors Field CO | 50445 | Coors Field | Coors Field DC | 41888 | Nationals Park | Nationals Park FL | 74916 | Dolphin Stadium | Tropicana Field FL | 73800 | Jacksonville Municipal Stadium | Tropicana Field FL | 65647 | Raymond James Stadium | Tropicana Field FL | 36048 | Tropicana Field | Tropicana Field ...