聚合函数 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

聚合函数

Amazon S3 Select 支持以下聚合函数。

函数

参数类型

返回类型

AVG(expression)

INT, FLOAT, DECIMAL

DECIMAL 适用于 INT 参数,FLOAT 适用于浮点型参数;否则与参数数据类型相同。

COUNT

-

INT

MAX(expression)

INT, DECIMAL

和参数类型相同。

MIN(expression)

INT, DECIMAL

和参数类型相同。

SUM(expression)

INT, FLOAT, DOUBLE, DECIMAL

INT 适用于 INT 参数,FLOAT 适用于浮点型参数;否则与参数数据类型相同。

SUM 示例

要聚合 S3 清单报告中某个文件夹的对象总大小,请使用 SUM 表达式。

以下 S3 清单报告是使用 GZIP 压缩的 CSV 文件。共有三列。

  • 第一列是 S3 清单报告所用于的 S3 桶(DOC-EXAMPLE-BUCKET)的名称。

  • 第二列是唯一标识桶中对象的对象键名称。

    第一行中的 example-folder/ 值表示文件夹 example-folder。在 Amazon S3 中,当您在桶中创建文件夹时,S3 使用设置为您提供的文件夹名称的键创建一个 0 字节对象。

    第二行中的 example-folder/object1 值表示文件夹 example-folder 中的对象 object1

    第三行中的 example-folder/object2 值表示文件夹 example-folder 中的对象 object2

    有关 S3 文件夹的更多信息,请参阅使用文件夹在 Amazon S3 控制台中整理对象

  • 第三列是对象大小(以字节为单位)。

"DOC-EXAMPLE-BUCKET","example-folder/","0" "DOC-EXAMPLE-BUCKET","example-folder/object1","2011267" "DOC-EXAMPLE-BUCKET","example-folder/object2","1570024"

要使用 SUM 表达式计算文件夹 example-folder 的总大小,请使用 Amazon S3 Select 运行 SQL 查询。

SELECT SUM(CAST(_3 as INT)) FROM s3object s WHERE _2 LIKE 'example-folder/%' AND _2 != 'example-folder/';

查询结果:

3581291