

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# windowMax


`windowMax` 函数计算按指定属性划分和排序的自定义窗口中聚合度量的最大值。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。您可以使用 `windowMax` 来帮助确定指标在一段时间内的最大值。

MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。

## 语法


括号是必需的。要查看哪些参数是可选的，请参阅以下说明。

```
windowMax
	(
	     measure 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


*度量*   
要获取其平均值的聚合度量，例如，`sum({Revenue})`。

*sort attribute*   
要在对数据排序时使用的一个或多个聚合字段（度量和/或维度），以逗号分隔。您可以指定升序 (**ASC**) 或降序 (**DESC**) 排序顺序。  
如果列表中的某个字段不止包含一个单词，则用 \$1 \$1 （大括号）将该字段括起来。整个列表括在 []（方括号）内。

*start index*   
起始索引 (start index) 是一个正整数，指示当前行之上的 *n* 行。起始索引 计算当前行上方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

*end index*   
结束索引 (end index) 是一个正整数，指示当前行之下的 *n* 行。结束索引 计算当前行下方的可用数据点，而不是计算实际时间段。如果数据稀疏（例如，缺少几个月或几年），请相应地调整索引。

 *分区字段*   
（可选）要在分区时使用的一个或多个维度（以逗号分隔）。  
如果包含多个单词，则将列表中的每个字段括在 \$1\$1（大括号）内。整个列表括在 []（方括号）内。

## 示例


以下示例计算按 `SaleDate` 分区的 `sum(Revenue)` 的随后 12 个月最大值。计算包括当前行上方的 12 行和下面的 0 行。

```
windowMax
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     12,
               0
	)
```

以下屏幕截图显示了此随后 12 个月示例的结果。sum(Revenue) 字段添加到了图表中，以显示该收入与随后 12 个月最大收入之间的差异。

![\[alt text not found\]](http://docs.amazonaws.cn/quick/latest/userguide/images/windowMax.png)
