LAST_VALUE
Gibt den Wert von column aus der letzten Zeile des Fensterrahmens zurück.
PostgreSQL 17.9
LAST_VALUE(column)- column
- Spalte oder Ausdruck, dessen Wert zurückgegeben wird
Rückgabewert
Wert vom Typ von column
Beispiele
Jüngstes Mitglied je Status
PostgreSQL 17.9
SELECT member_name,
status,
birthday,
LAST_VALUE(member_name) OVER (
PARTITION BY status
ORDER BY birthday ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS youngest_in_status
FROM FamilyMembers;Standardrahmen endet bei der aktuellen Zeile
PostgreSQL 17.9
SELECT member_name,
status,
birthday,
LAST_VALUE(member_name) OVER (
PARTITION BY status
ORDER BY birthday
) AS last_in_frame
FROM FamilyMembers;Details
Mit ORDER BY endet der Standardrahmen mit der aktuellen Zeile (und Zeilen mit demselben Wert in ORDER BY), nicht am Ende der Partition. Deshalb gibt die Funktion ohne expliziten Rahmen oft den Wert der aktuellen Zeile zurück; ohne ORDER BY ist der Rahmen die ganze Partition. Um den letzten Wert der ganzen Partition zu bekommen, setzt du den Rahmen ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.