Funzione Last_Value() di SQL Server

Funzione Last Value Di Sql Server



Questo tutorial mira a guidarti nella comprensione della funzione last_value() in SQL Server. La funzione consente di recuperare l'ultimo valore in un insieme ordinato di valori o in una partizione.

Funzione Sintassi

Di seguito è riportata la sintassi della funzione last_value.

LAST_VALUE ( [ espressione_scalare ] )  [ IGNORA NULL | RISPETTA NULLI ]
OVER ( [ partizione_per_clausola ] ordine_per_clausola [ righe_intervallo_clausola ] )

Gli argomenti della funzione sono:







  1. scalar_expression – questo definisce il valore da restituire. Può trattarsi di una colonna esistente, di una sottoquery o di un'espressione che restituisce un singolo valore.
  2. IGNORE NULLS: consente alla funzione di ignorare i valori nulli nel set specificato durante la determinazione dell'ultimo valore su una partizione
  3. RESPECT NULL – questo è l'opposto della clausola IGNORE NULL. Forza la funzione a considerare i valori NULL quando determina l'ultimo valore su una partizione.
  4. PARTITION BY – divide le righe di un dato risultato in varie partizioni. La funzione last_value viene quindi applicata a queste partizioni. Se manca la clausola partition_by, la funzione tratterà il set di risultati come un singolo gruppo.
  5. ORDER BY – questo determina in quale ordine seguono le righe in una data partizione.
  6. Rows_range – questa clausola limita le righe in una data partizione. Funziona impostando un valore iniziale e finale.

La funzione restituisce il tipo dell'espressione_scalare specificata.



Utilizzo della funzione last_value su un set di risultati

Supponiamo di avere una tabella come mostrato:







Possiamo applicare la funzione last_value() su un set di risultati, come mostrato nell'esempio di query seguente:

Selezionare
NOME DEL SERVER,
INDIRIZZO DEL SERVER ,
METODO DI COMPRESSIONE,
SPAZIO SUL DISCO,
last_value(size_on_disk) su(
ordina per size_on_disk intervallo tra precedente illimitato e successivo illimitato) più grande
da
VOCI E;

Valori risultanti:



Utilizzo della funzione last_value su una partizione

Possiamo anche applicare la funzione last_value() sulla partizione come mostrato nell'esempio seguente:

Selezionare
NOME DEL SERVER,
INDIRIZZO DEL SERVER ,
METODO DI COMPRESSIONE,
SPAZIO SUL DISCO,
last_value(size_on_disk) over(partition by COMPRESSION_METHOD
ordina per size_on_disk intervallo tra precedente illimitato e successivo illimitato) più grande
da
VOCI E;

In questo caso, i dati vengono raggruppati in varie partizioni in base al metodo di compressione.

Il valore risultante è come mostrato:

Nella tabella sopra, abbiamo cinque partizioni, con il valore massimo in ciascuna partizione visualizzato nella colonna più grande.

Conclusione

In questa esercitazione si è appreso come utilizzare la funzione last_value() di SQL Server per ottenere l'ultimo valore in un set ordinato o in una partizione.