# LAST\_VALUE

The `LAST_VALUE()` function returns an expression evaluated at the last row of the window frame.

If there are no rows in the frame, returns `NULL`.

For an overview of window functions in SingleStore, see [Window Functions Guide](https://docs.singlestore.com/db/v9.1/developer-resources/functional-extensions/working-with-window-functions.md).

## Syntax

```
LAST_VALUE ( expression ) OVER (
    [PARTITION BY (col | expr), ...]
    [ORDER BY (col | expr), ...]
    [frame_clause]
)

```

## Arguments

* expression: any expression. This may be a column name, the result of another function, or a math operation.

## Return Type

The result type of expression

## Examples

```sql
CREATE TABLE lv_example (a INT, b INT);

INSERT INTO lv_example VALUES(1, 2), (2, 2), (3, 3), (4, 3);

```

```sql
CREATE TABLE tick_table(TIMESTAMP DATETIME(6), symbol VARCHAR(5), comp_name VARCHAR (30), price NUMERIC(18,4));

INSERT INTO tick_table VALUES('2022-11-18 10:55:36.000000','STC','SomeTechCo', 100.00),
('2022-11-18 10:55:37.000000','STC','SomeTechCo', 102.00),
('2022-11-18 10:55:42.000000', 'STC', 'SomeTechCo', 105.00),
('2022-11-18 10:55:48.000000', 'STC', 'SomeTechCo', 101.00),
('2022-11-18 10:56:03.000000', 'STC', 'SomeTechCo', 99.00),
('2022-11-18 10:55:42.000000', 'AME', 'ACME', 198.00),
('2022-11-18 10:55:50.000000', 'AME', 'ACME', 208.00),
('2022-11-18 10:55:52.000000', 'AME', 'ACME', 210.00),
('2022-11-18 10:55:55.000000', 'AME', 'ACME', 211.00),
('2022-11-18 10:55:52.000000', 'OCO', 'OnCallCo', 21.00),
('2022-11-18 10:55:55.000000', 'OCO', 'OnCallCo', 22.00),
('2022-11-18 10:55:57.000000', 'OCO', 'OnCallCo', 21.00),
('2022-11-18 10:56:00.000000', 'OCO', 'OnCallCo', 23.00),
('2022-11-18 10:56:03.000000', 'OCO', 'OnCallCo', 24.00);
```

## Window Function

```sql
SELECT a, LAST_VALUE(a) OVER(ORDER BY (a)) FROM lv_example;

```

```output

+------+----------------------------------+
| a    | LAST_VALUE(a) OVER(ORDER BY (a)) |
+------+----------------------------------+
|    1 |                                1 |
|    2 |                                2 |
|    3 |                                3 |
|    4 |                                4 |
+------+----------------------------------+

```

## Window Frame Clause

```sql
SELECT a, LAST_VALUE(a) OVER(ORDER BY (a) ROWS between  CURRENT ROW and UNBOUNDED FOLLOWING) AS Result FROM lv_exa
mple;

```

```output

+------+--------+
| a    | Result |
+------+--------+
|    1 |      4 |
|    2 |      4 |
|    3 |      4 |
|    4 |      4 |
+------+--------+
```

```sql
SELECT TIMESTAMP, symbol, price, LAST_VALUE(price) OVER (
PARTITION BY symbol) AS Result FROM tick_table GROUP BY TIMESTAMP;

```

```output

+----------------------------+--------+----------+----------+
| TIMESTAMP                  | symbol | price    | Result   |
+----------------------------+--------+----------+----------+
| 2022-11-18 10:55:52.000000 | AME    | 210.0000 | 208.0000 |
| 2022-11-18 10:55:42.000000 | AME    | 198.0000 | 208.0000 |
| 2022-11-18 10:55:50.000000 | AME    | 208.0000 | 208.0000 |
| 2022-11-18 10:55:36.000000 | STC    | 100.0000 | 101.0000 |
| 2022-11-18 10:56:03.000000 | STC    |  99.0000 | 101.0000 |
| 2022-11-18 10:55:37.000000 | STC    | 102.0000 | 101.0000 |
| 2022-11-18 10:55:48.000000 | STC    | 101.0000 | 101.0000 |
| 2022-11-18 10:56:00.000000 | OCO    |  23.0000 |  21.0000 |
| 2022-11-18 10:55:55.000000 | OCO    |  22.0000 |  21.0000 |
| 2022-11-18 10:55:57.000000 | OCO    |  21.0000 |  21.0000 |
+----------------------------+--------+----------+----------+

```

***

Modified at: July 10, 2026

Source: [/db/v9.1/reference/sql-reference/window-functions/last-value/](https://docs.singlestore.com/db/v9.1/reference/sql-reference/window-functions/last-value/)

(An index of the documentation is available at /llms.txt)
