集計関数 - Amazon Simple Storage Service

集計関数

Amazon S3 Select では、以下の集計関数がサポートされています。

関数

引数の型

戻り型

AVG(expression)

INT, FLOAT, DECIMAL

INT 引数の場合は DECIMAL、浮動小数点の引数の場合は 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 ファイルです。3 つの列があります。

  • 最初の列は、S3 インベントリレポートの対象となる S3 バケットの名前 (DOC-EXAMPLE-BUCKET) です。

  • 2 番目の列は、バケット内のオブジェクトを一意に識別するオブジェクトキー名です。

    最初の行の example-folder/ 値は、フォルダ example-folder 用です。Amazon S3 で、バケットにフォルダを作成すると、S3 は、指定したフォルダ名に設定されたキーを持つ 0 バイトのオブジェクトを作成します。

    2 行目の example-folder/object1 値は、example-folder フォルダ内のオブジェクト object1 用です。

    3 行目の example-folder/object2 値は、example-folder フォルダ内のオブジェクト object2 用です。

    S3 フォルダの詳細については、「フォルダを使用して Amazon S3 コンソールのオブジェクトを整理する」を参照してください。

  • 3 番目の列は、バイト単位のオブジェクトサイズです。

"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