聚合函数 - Amazon Simple Storage Service

聚合函数

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