最后一个
描述
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表达式。
- PARTITION BY分区字段
- 必修内容。使用PARTITION BY子句,可指定一个或多个字段,用于对一组输入行进行分区。您可以指定除币种以外的任何字段类型。示例:您将“月”字段指定为分区字段,以便 Workday 将具有相同“月”值的所有记录分组到一个分区中。
- ORDER BYordering_field
- 必修内容。使用ORDER BY子句,以指定如何使用每个分区内指定字段中的值对分区中的输入行进行排序。您可以指定除币种以外的任何字段类型。您可以使用DESC或ASC关键字,为每个排序字段按降序(从高到低的值,空值在最后)或升序(从低到高的值,空值在前)排序。如果您没有为排序字段指定排序顺序,Workday 会自动按升序对行进行排序。
- ROWS
- 必修内容。该ROWS子句通过指定窗口框架来定义分区内的特定行数(相对于当前行)。您可以通过指定分区内的起点和终点(即窗口边界)来定义窗口框架。“窗口框”是每个分区中相对于当前行的输入行集合,将在该集合上计算聚合表达式(此函数的最后一个表达式)。窗口框可以包含分区的一行、几行或所有行。
- window_boundary
- 必修内容。窗口边界定义了窗口框架的起点和终点。窗口边界是相对于当前行的。AFOLLOWING子句定义的窗口边界位于当前行(当前行之后要包括的行数)之后。Workday 将当前行用作窗口框架(下限)中的第一行。该UNBOUNDED关键字包括指定方向上的所有行。