SQL Server Last_Value()-Funktion

Sql Server Last Value Funktion



Dieses Tutorial soll Sie beim Verständnis der Funktion last_value() in SQL Server unterstützen. Mit der Funktion können Sie den letzten Wert in einer geordneten Menge von Werten oder einer Partition abrufen.

Funktionssyntax

Unten ist die Syntax der last_value-Funktion.

LAST_VALUE ( [ Skalar_Ausdruck ] )  [ NULLEN IGNORE | NULLEN RESPEKTIEREN ]
OVER ( [ partition_by_clause ] order_by_clause [ rows_range_clause ] )

Die Funktionsargumente sind:







  1. skalar_ausdruck – definiert den zurückzugebenden Wert. Dies kann eine vorhandene Spalte, eine Unterabfrage oder ein Ausdruck sein, der einen einzelnen Wert zurückgibt.
  2. IGNORE NULLS – dies ermöglicht der Funktion, Nullwerte in der gegebenen Menge zu ignorieren, wenn der letzte Wert über eine Partition bestimmt wird
  3. RESPECT NULL – das ist das Gegenteil der IGNORE NULL-Klausel. Es zwingt die Funktion, NULL-Werte zu berücksichtigen, wenn der letzte Wert über eine Partition bestimmt wird.
  4. PARTITION BY – teilt die Zeilen eines bestimmten Ergebnisses in verschiedene Partitionen. Die last_value-Funktion wird dann auf diese Partitionen angewendet. Wenn die partition_by-Klausel fehlt, behandelt die Funktion die Ergebnismenge als eine einzelne Gruppe.
  5. ORDER BY – bestimmt, in welcher Reihenfolge die Zeilen in einer bestimmten Partition folgen.
  6. Rows_range – diese Klausel begrenzt die Zeilen in einer bestimmten Partition. Dies funktioniert durch Setzen eines Start- und Endwertes.

Die Funktion gibt den Typ des angegebenen skalaren_Ausdrucks zurück.



Verwenden der last_value-Funktion über eine Ergebnismenge

Angenommen, wir haben eine Tabelle wie gezeigt:







Wir können die Funktion last_value() auf eine Ergebnismenge anwenden, wie in der Beispielabfrage unten gezeigt:

auswählen
SERVERNAME,
SERVERADRESSE ,
KOMPRESSIONSVERFAHREN,
SIZE_ON_DISK,
last_value(size_on_disk) über(
sortieren nach size_on_disk Bereich zwischen unbegrenzt vorangehend und unbegrenzt folgend) am größten
aus
EINGÄNGE E;

Ergebniswerte:



Verwenden der last_value-Funktion über eine Partition

Wir können auch die Funktion last_value() auf die Partition anwenden, wie im folgenden Beispiel gezeigt:

auswählen
SERVERNAME,
SERVERADRESSE ,
KOMPRESSIONSVERFAHREN,
SIZE_ON_DISK,
last_value(size_on_disk) over(partition by COMPRESSION_METHOD
sortieren nach size_on_disk Bereich zwischen unbegrenzt vorangehend und unbegrenzt folgend) am größten
aus
EINGÄNGE E;

In diesem Fall werden die Daten basierend auf dem Komprimierungsverfahren in verschiedene Partitionen gruppiert.

Der resultierende Wert sieht wie folgt aus:

In der obigen Tabelle haben wir fünf Partitionen, wobei der maximale Wert in jeder Partition in der größten Spalte angezeigt wird.

Fazit

In diesem Lernprogramm haben Sie gelernt, wie Sie die SQL Server-Funktion last_value() verwenden, um den letzten Wert in einer geordneten Menge oder Partition abzurufen.