LAST
說明
LAST
是一個視窗匯總函數,用於將列分組、依欄位對列進行排序,並傳回群組中最後一列的值。該
PARTITION BY
子句決定要使用哪些欄位來將一組輸入列分組。該 ORDER BY
子句決定如何排序分區中的列。Workday 會根據分區欄位將輸入列分組,根據排序欄位對列進行排序,然後計算每個群組中的匯總運算式 (此函數的最後一個運算式)。
語法
whereLAST(input_field)OVER(PARTITION BYpartitioning_field[,partitioning_field]ORDER BYordering_field[ASC | DESC] [,ordering_field[ASC | DESC]]ROWSBETWEENstart_window_boundaryANDend_window_boundary)start_window_boundarycan be:and whereCURRENT ROWend_window_boundarycan be:UNBOUNDED FOLLOWING
傳回值
傳回與
input_field
類型相同的值。輸入參數
- input_field
- 必填。要執行匯總函數的欄位。您可以使用任何數值欄位或貨幣欄位。
- OVER()
- 必填。OVER必須在以下範圍內使用LAST運算式。
- PARTITIONBYpartitioning_field
- 必填。使用PARTITION BY子句,指定一或多個欄位,用於對一組輸入列進行分區。您可以指定「貨幣」以外的任何欄位類型。例如,如果您將「月份」欄位指定為分區欄位,Workday 會將月份值相同的所有記錄分組歸入單一分區。
- ORDER BYordering_field
- 必填。使用ORDER BY子句,使用每個分區內的指定欄位值,指定如何排序分區中的輸入列。您可以指定「貨幣」以外的任何欄位類型。您可以使用DESC或ASC關鍵字︰依每個排序欄位的遞減順序 (高到低,NULL 在最後) 或遞增順序 (低到高,NULL 在前) 進行排序。如果您未為排序欄位指定排序順序,Workday 會自動按遞增順序對列進行排序。
- ROWS
- 必填。該ROWS子句透過指定視窗框架來定義分區內的特定列數 (相對於目前列)。透過指定分區內的起點和結束點 (稱為視窗邊界),您可以定義視窗框架。視窗框架是每個分區中相對於目前列的一組輸入列,在此基礎上計算匯總運算式 (此函數的最後一個)。視窗框架可以包含分區的一列、多列或所有列。
- window_boundary
- 必填。視窗邊界定義了視窗框架的開始點和結束點。視窗邊界是以目前列為基準。AFOLLOWING子句定義目前列 (目前列之後要包含的列數) 之後的視窗邊界。Workday 會使用目前列做為視窗框架的第一列 (下邊界)。該UNBOUNDED關鍵字包含指定方向上的所有列。