SQL Server Last_Value() Functie

Sql Server Last Value Functie



Deze tutorial is bedoeld om u te helpen bij het begrijpen van de functie last_value() in SQL Server. Met de functie kunt u de laatste waarde ophalen in een geordende set waarden of een partitie.

Functie syntaxis

Hieronder staat de syntaxis van de last_value-functie.

LAST_VALUE ( [ scalaire_expressie ] )  [ IGNORE NULLS | RESPECT NULLEN ]
OVER ( [ partitie_per_clausule ] order_door_clausule [ rijen_bereik_clausule ] )

De functieargumenten zijn:







  1. scalar_expressie - dit definieert de waarde die moet worden geretourneerd. Dit kan een bestaande kolom zijn, een subquery of een expressie die terugkeert naar een enkele waarde.
  2. IGNORE NULLS – hiermee kan de functie null-waarden in de gegeven set negeren bij het bepalen van de laatste waarde over een partitie
  3. RESPECT NULL – dit is het tegenovergestelde van de IGNORE NULL-component. Het dwingt de functie om NULL-waarden te overwegen bij het bepalen van de laatste waarde over een partitie.
  4. PARTITIE DOOR – verdeelt de rijen van een bepaald resultaat in verschillende partities. De functie last_value wordt vervolgens toegepast op deze partities. Als de partition_by-clausule ontbreekt, behandelt de functie de resultaatset als een enkele groep.
  5. ORDER BY – dit bepaalt in welke volgorde de rijen in een bepaalde partitie volgen.
  6. Rows_range – deze clausule beperkt de rijen in een bepaalde partitie. Dit werkt door een begin- en eindwaarde in te stellen.

De functie retourneert het type van de opgegeven scalaire_expressie.



De last_value-functie gebruiken voor een resultatenset

Stel dat we een tabel hebben zoals weergegeven:







We kunnen de functie last_value() toepassen op een resultatenset, zoals weergegeven in de voorbeeldquery hieronder:

selecteren
SERVER NAAM,
SERVER ADRES ,
COMPRESSIEMETHODE,
GROOTTE OP SCHIJF,
laatste_waarde(grootte_op_schijf) over(
orde door size_on_disk bereik tussen onbegrensde voorgaande en onbegrensde volgende) grootste
van
INSCHRIJVINGEN E;

Resulterende waarden:



De last_value-functie gebruiken via een partitie

We kunnen ook de functie last_value() toepassen op een partitie, zoals in het onderstaande voorbeeld:

selecteren
SERVER NAAM,
SERVER ADRES ,
COMPRESSIEMETHODE,
GROOTTE OP SCHIJF,
last_value(size_on_disk) over(partitie door COMPRESSION_METHOD
orde door size_on_disk bereik tussen onbegrensde voorgaande en onbegrensde volgende) grootste
van
INSCHRIJVINGEN E;

In dit geval worden de gegevens gegroepeerd in verschillende partities op basis van de compressiemethode.

De resulterende waarde is zoals weergegeven:

In de bovenstaande tabel hebben we vijf partities, waarbij de maximale waarde in elke partitie wordt weergegeven in de grootste kolom.

Conclusie

In deze zelfstudie hebt u geleerd hoe u de functie last_value() van SQL Server gebruikt om de laatste waarde in een geordende set of partitie op te halen.