

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# LAST\$1VALUE 範圍函數
<a name="r_WF_last_value"></a>

 在一組已排序的列中，LAST\$1VALUE 函數針對窗框中的最後一列，傳回運算式的值。

如需有關選取框架中第一列的資訊，請參閱[FIRST\$1VALUE 範圍函數](r_WF_first_value.md)。

## 語法
<a name="r_WF_last_value-synopsis"></a>

```
LAST_VALUE( expression )[ IGNORE NULLS | RESPECT NULLS ]
OVER (
[ PARTITION BY expr_list ]
[ ORDER BY order_list frame_clause ]
)
```

## 引數
<a name="r_WF_last_value-arguments"></a>

 *表達式*   
 函數運算的目標欄或表達式。

IGNORE NULLS   
函數會傳回窗框中非 NULL (或如果所有值都是 NULL，則為 NULL) 的最後一個值。

RESPECT NULLS   
指出 Amazon Redshift 應該包含 null 值來決定要使用的列。如果您不指定 IGNORE NULLS，則預設支援 RESPECT NULLS。

OVER   
引進函數的視窗子句。

PARTITION BY *expr\$1list*   
以一或多個表達式定義函數的視窗。

ORDER BY *order\$1list*   
排序每一個分割區內的列。如果未指定 PARTITION BY 子句，ORDER BY 會排序整個資料表。如果您指定 ORDER BY 子句，則還必須指定 *frame\$1clause*。  
結果取決於資料的順序。在下列情況中，結果不確定：  
+ 未指定 ORDER BY 子句，且分割區包含一個表達式的兩個不同值 
+ 表達式評估為不同值，而這些值對應於 ORDER BY 清單中的相同值。

 *frame\$1clause*   
如果彙總函數使用 ORDER BY 子句，則需要明確的窗框子句。窗框子句在排序的結果中包含或排除資料列組，以調整函數視窗中的一個列集。窗框子句包含 ROWS 關鍵字和相關的指定元。請參閱 [範圍函數語法摘要](c_Window_functions.md#r_Window_function_synopsis)。

## 傳回類型
<a name="c_Supported_data_types_wf_last_value"></a>

這些函數支援使用基本 Amazon Redshift 資料類型的運算式。傳回類型與*運算式*的資料類型相同。

## 範例
<a name="r_WF_last_value-examples"></a>

下列範例會使用範例 TICKIT 資料中的 VENUE 表格。如需詳細資訊，請參閱[範本資料庫](c_sampledb.md)。

下列範例傳回 VENUE 資料表中每個會場的座位容量，且結果依容量排序 (高到低)。LAST\$1VALUE 函數用於選取與窗框之最後一列對應的會場名稱：在此案例中，即座位數最少的那一列。結果依州分割，所以當 VENUESTATE 值變更時，就會選取新的最後一個值。視窗框無界限，對於每一個分割區的第一列，選取的最後一個值都相同。

以加利佛尼亞來說，分割區中的每一列列都傳回 `Shoreline Amphitheatre`，因為其座位數最少 (`22000`)。

```
select venuestate, venueseats, venuename,
last_value(venuename)
over(partition by venuestate
order by venueseats desc
rows between unbounded preceding and unbounded following)
from (select * from venue where venueseats >0)
order by venuestate;

venuestate | venueseats |           venuename            |          last_value
-----------+------------+--------------------------------+------------------------------
CA         |      70561 | Qualcomm Stadium               | Shoreline Amphitheatre
CA         |      69843 | Monster Park                   | Shoreline Amphitheatre
CA         |      63026 | McAfee Coliseum                | Shoreline Amphitheatre
CA         |      56000 | Dodger Stadium                 | Shoreline Amphitheatre
CA         |      45050 | Angel Stadium of Anaheim       | Shoreline Amphitheatre
CA         |      42445 | PETCO Park                     | Shoreline Amphitheatre
CA         |      41503 | AT&T Park                      | Shoreline Amphitheatre
CA         |      22000 | Shoreline Amphitheatre         | Shoreline Amphitheatre
CO         |      76125 | INVESCO Field                  | Coors Field
CO         |      50445 | Coors Field                    | Coors Field
DC         |      41888 | Nationals Park                 | Nationals Park
FL         |      74916 | Dolphin Stadium                | Tropicana Field
FL         |      73800 | Jacksonville Municipal Stadium | Tropicana Field
FL         |      65647 | Raymond James Stadium          | Tropicana Field
FL         |      36048 | Tropicana Field                | Tropicana Field
...
```