

# 집계 함수
<a name="s3-select-sql-reference-aggregate"></a>

**중요**  
신규 고객은 더 이상 Amazon S3 Select를 사용할 수 없습니다. Amazon S3 Select 기존 고객은 평소처럼 이 기능을 계속 사용할 수 있습니다. [자세히 알아보기](https://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) 

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 예제
<a name="s3-select-sql-reference-aggregate-case-examples"></a>

[S3 Inventory 보고서](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html)에서 폴더의 총 객체 크기를 집계하려면 `SUM` 표현식을 사용하세요.

다음 S3 Inventory 보고서는 GZIP으로 압축된 CSV 파일입니다. 세 개의 열이 있습니다.
+ 첫 번째 열은 S3 Inventory 보고서의 대상인 S3 버킷(*`DOC-EXAMPLE-BUCKET`*)의 이름입니다.
+ 두 번째 열은 버킷의 객체를 고유하게 식별하는 객체 키 이름입니다.

  첫 번째 행의 `example-folder/` 값은 `example-folder` 폴더에 대한 값입니다. Amazon S3에서 버킷에 폴더를 만들면 S3는 제공한 폴더 이름으로 설정된 키가 있는 0바이트의 객체를 생성합니다.

  두 번째 행의 `example-folder/object1` 값은 `example-folder` 폴더에 있는 `object1` 객체에 대한 값입니다.

  세 번째 행의 `example-folder/object2` 값은 `example-folder` 폴더에 있는 `object2` 객체에 대한 값입니다.

  폴더에 대한 자세한 내용은 [Amazon S3 콘솔에서 폴더를 사용하여 객체 구성](using-folders.md)을 참조하세요.
+ 세 번째 열은 객체 크기(바이트)입니다.

```
"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
```