# LAST_VALUE

> LAST_VALUE-Fensterfunktion in StackQL: der Wert eines Ausdrucks für die letzte Zeile des Fensterrahmens.

Source: https://stackql.io/de/language-spec/functions/window/last_value

Gibt den Wert des Ausdrucks zurück, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

Diese eingebaute Fensterfunktion berechnet den Fensterrahmen für jede Zeile auf dieselbe Weise wie eine Aggregat-Fensterfunktion. Sie gibt für jede Zeile den Wert des Ausdrucks zurück, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

Siehe auch:
[[` SELECT `]](/language-spec/select) [[` FIRST_VALUE `]](/language-spec/functions/window/first_value) [[` NTH_VALUE `]](/language-spec/functions/window/nth_value)

* * *

## Syntax

```sql
SELECT LAST_VALUE(expr) OVER (
    [PARTITION BY column]
    ORDER BY column
    [ROWS BETWEEN frame_start AND frame_end]
) FROM <multipartIdentifier>;
```

## Argumente

__*expr*__
Der Ausdruck, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

__*PARTITION BY column*__
Optional. Teilt die Ergebnismenge in Partitionen auf. Die Funktion `LAST_VALUE` wird innerhalb jeder Partition separat angewendet.

__*ORDER BY column*__
Legt die Reihenfolge fest, in der die Zeilen verarbeitet werden.

__*ROWS BETWEEN frame_start AND frame_end*__
Optional. Definiert den Fensterrahmen. Gängige Optionen sind:
- `ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW` (Standard)
- `ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING`

## Rückgabewert(e)

Gibt den Wert des Ausdrucks zurück, der für die letzte Zeile im Fensterrahmen ausgewertet wird.

* * *

## Beispiele

### Das neueste Release als Kontext ermitteln

```sql
-- Find first and latest release for context
SELECT
    tag_name,
    name,
    published_at,
    FIRST_VALUE(tag_name) OVER (
        ORDER BY published_at
        ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
    ) as first_release,
    LAST_VALUE(tag_name) OVER (
        ORDER BY published_at
        ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
    ) as latest_release
FROM github.repos.releases
WHERE owner = 'stackql'
  AND repo = 'stackql';
```

:::tip

Standardmäßig erstreckt sich der Fensterrahmen vom Anfang der Partition bis zur aktuellen Zeile, sodass `LAST_VALUE` den Wert der aktuellen Zeile zurückgeben würde. Um den tatsächlich letzten Wert der Partition zu erhalten, verwenden Sie `ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING`.

:::

Weitere Informationen finden Sie unter [https://sqlite.org/windowfunctions.html#built-in_window_functions](https://sqlite.org/windowfunctions.html#built-in_window_functions).
