

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. [여기](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)에서 자세히 알아보세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 윈도우 함수
<a name="window-functions"></a>

창 함수는 쿼리 결과의 행에서 계산을 수행합니다. HAVING 절 뒤에 실행되지만 ORDER BY 절 앞에 실행됩니다. 창 함수를 간접적으로 호출하려면 OVER 절을 사용하여 창을 지정하는 특수 구문이 필요합니다. 창은 세 가지 구성 요소로 구성됩니다.
+ 입력 행을 서로 다른 파티션으로 구분하는 파티션 사양입니다. 이는 GROUP BY 절이 집계 함수를 위해 행을 서로 다른 그룹으로 구분하는 방식과 유사합니다.
+ 윈도우 함수에서 입력 행을 처리할 순서를 결정하는 주문 사양입니다.
+ 지정된 행에 대해 함수가 처리할 행의 슬라이딩 창을 지정하는 창 프레임입니다. 프레임을 지정하지 않으면 기본적으로 RANGE UNBOUNDED PRECEDING으로 설정됩니다. 이는 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW와 동일합니다. 이 프레임에는 파티션 시작부터 현재 행의 마지막 피어까지 모든 행이 포함됩니다.

OVER 절을 추가하여 모든 집계 함수를 창 함수로 사용할 수 있습니다. 집계 함수는 현재 행의 창 프레임 내에 있는 행의 각 행에 대해 계산됩니다. Timestream for LiveAnalytics는 집계 함수 외에도 다음과 같은 순위 및 값 함수를 지원합니다.


| 함수 | 출력 데이터 유형 | 설명 | 
| --- | --- | --- | 
|  cume\$1dist()  |  bigint  |  값 그룹에 있는 값의 누적 분포를 반환합니다. 그 결과 창 파티션의 창 순서에 있는 행을 창 파티션의 총 행 수로 나눈 선행 행 또는 피어 행의 수가 됩니다. 따라서 순서의 모든 타이 값은 동일한 분포 값으로 평가됩니다.  | 
|  dense\$1rank()  |  bigint  |  값 그룹에 있는 값의 순위를 반환합니다. 이는 rank()와 비슷합니다. 단, 타이 값은 시퀀스에 공백을 생성하지 않습니다.  | 
|  ntile(n)  |  bigint  |  각 창 파티션의 행을 1\$1최대 n 범위의 버킷 n개로 나눕니다. 버킷 값은 최대 1만큼 다릅니다. 파티션의 행 수가 버킷 수로 정확히 나누어지지 않을 경우 나머지 값은 첫 번째 버킷부터 시작하여 버킷당 하나씩 분배됩니다.  | 
|  percent\$1rank()  |  double  |  값 그룹에서 값의 백분율 순위를 반환합니다. 결과는 (r - 1)/(n - 1)입니다. 여기서 r은 행의 rank()이고 n은 창 파티션의 총 행 수입니다.  | 
|  rank()  |  bigint  |  값 그룹에 있는 값의 순위를 반환합니다. 순위는 1에 행과 피어링되지 않은 행 앞의 행 수를 더한 값입니다. 따라서 순서에 값을 묶으면 시퀀스에 갭이 발생합니다. 순위는 각 창 파티션에 대해 수행됩니다.  | 
|  row\$1number()  |  bigint  |  창 파티션 내의 행 순서에 따라 각 행에 대해 하나씩 시작하는 고유한 순차 번호를 반환합니다.  | 
|  first\$1value(x)  |  [입력과 동일]  |  창의 첫 번째 값을 반환합니다. 이 함수는 창 프레임으로 범위가 지정됩니다. 함수는 표현식 또는 대상을 파라미터로 사용합니다.  | 
|  last\$1value(x)  |  [입력과 동일]  |  창의 마지막 값을 반환합니다. 이 함수는 창 프레임으로 범위가 지정됩니다. 함수는 표현식 또는 대상을 파라미터로 사용합니다.  | 
|  nth\$1value(x, offset)  |  [입력과 동일]  |  창 시작부터 지정된 오프셋의 값을 반환합니다. 오프셋은 1부터 시작합니다. 오프셋은 모든 스칼라 표현식일 수 있습니다. 오프셋이 null이거나 창의 값 개수보다 크면 null이 반환됩니다. 오프셋이 0이거나 음수인 경우 오류가 발생합니다. 함수는 표현식 또는 대상을 첫 번째 파라미터로 사용합니다.  | 
|  lead(x[, offset[, default\$1value]])  |  [입력과 동일]  |  창의 현재 행 뒤에 있는 오프셋 행의 값을 반환합니다. 오프셋은 현재 행인 0에서 시작합니다. 오프셋은 모든 스칼라 표현식일 수 있습니다. 기본 오프셋은 1입니다. 오프셋이 null이거나 창보다 크면 default\$1value가 반환되고, 지정되지 않으면 null이 반환됩니다. 함수는 표현식 또는 대상을 첫 번째 파라미터로 사용합니다.  | 
|  lag(x[, offset[, default\$1value]])  |  [입력과 동일]  |  창의 현재 행 앞에 있는 오프셋 행의 값을 반환합니다. 오프셋은 현재 행인 0에서 시작합니다. 오프셋은 모든 스칼라 표현식일 수 있습니다. 기본 오프셋은 1입니다. 오프셋이 null이거나 창보다 크면 default\$1value가 반환되고, 지정되지 않으면 null이 반환됩니다. 함수는 표현식 또는 대상을 첫 번째 파라미터로 사용합니다.  | 