FIRST_VALUE
Gibt den Wert von column aus der ersten Zeile des Fensterrahmens zurück.
MySQL 8.4
FIRST_VALUE(column)- column
- Spalte oder Ausdruck, dessen Wert zurückgegeben wird
Rückgabewert
Wert vom Typ von column
Beispiele
Ältestes Mitglied je Status
MySQL 8.4
SELECT member_name,
status,
birthday,
FIRST_VALUE(member_name) OVER (
PARTITION BY status
ORDER BY birthday
) AS oldest_in_status
FROM FamilyMembers;Abstand zum höchsten Gehalt
MySQL 8.4
SELECT department_id,
name,
salary,
FIRST_VALUE(salary) OVER (
PARTITION BY department_id
ORDER BY salary DESC
) - salary AS gap_to_top
FROM employees;Details
Der Standardrahmen beginnt bei der ersten Zeile der Partition, daher gibt die Funktion ohne eigenen Rahmen den ersten Wert der Partition zurück.
Der Rahmen legt fest, welche Zeilen der Partition die Funktion sieht, und wird nach ORDER BY geschrieben: ROWS BETWEEN frame_start AND frame_end zählt Zeilen, während RANGE BETWEEN frame_start AND frame_end die Werte aus ORDER BY verwendet.
Ohne Rahmen gilt die Standardregel. Hat OVER ein ORDER BY, reicht der Rahmen vom Anfang der Partition bis zur aktuellen Zeile, einschließlich der Zeilen mit demselben Wert in ORDER BY. Ohne ORDER BY ist der Rahmen die ganze Partition.