

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

# windowCount


`windowCount` 函数计算按指定属性划分和排序的自定义窗口中聚合度量或维度的计数。通常，在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。

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

## 语法


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

```
windowCount
	(
	     measure_or_dimension 
            , [sort_order_field ASC/DESC, ...]
            , start_index
            , end_index
	     ,[ partition_field, ... ] 
	)
```

## 参数


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

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

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

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

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

## 示例


以下示例计算 `sum(Revenue)` 的移动计数（按 `SaleDate` 分区）。计算包括当前行上方的 3 行和下面的 2 行。

```
windowCount
	(
	     sum(Revenue), 
	     [SaleDate ASC],
	     3,
               2
	)
```