

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 範圍函數
<a name="window-functions"></a>

視窗函數會跨查詢結果的資料列執行計算。它們會在 HAVING 子句之後，但在 ORDER BY 子句之前執行。叫用視窗函數需要使用 OVER 子句來指定視窗的特殊語法。視窗有三個元件：
+ 分割區規格，將輸入資料列分隔為不同的分割區。這類似於 GROUP BY 子句如何將資料列分成不同的群組以彙總函數。
+ 排序規格，決定視窗函數處理輸入資料列的順序。
+ 視窗框架，指定要由指定資料列的函數處理的資料列滑動視窗。如果未指定影格，則預設為 RANGE UNBOUNDEDING，這與 UNBOUNDEDING 和目前資料列之間的範圍相同。此影格包含從分割區開始到目前資料列最後一個對等的所有資料列。

所有彙總函數都可以透過新增 OVER 子句做為視窗函數。彙總函數會針對目前資料列視窗框架內資料列上的每一列計算。除了彙總函數之外，Timestream for LiveAnalytics 還支援下列排名和值函數。


| 函式 | 輸出資料類型 | Description | 
| --- | --- | --- | 
|  cume\$1dist()  |  bigint  |  傳回一組值中值的累積分佈。結果是視窗分割區視窗順序中的資料列前面的資料列數或對等數，除以視窗分割區中的資料列總數。因此，排序中的任何繫結值都會評估為相同的分佈值。  | 
|  dense\$1rank()  |  bigint  |  傳回一組值中值的排名。這類似於 rank()，但綁定值不會在序列中產生間隙。  | 
|  ntile(n)  |  bigint  |  將每個視窗分割區的資料列分割為 n 個儲存貯體，範圍從 1 到最多 n 個。儲存貯體值最多會相差 1。如果分割區中的資料列數目未平均劃分為儲存貯體數目，則剩餘值會從第一個儲存貯體開始，每個儲存貯體分配一個。  | 
|  percent\$1rank()  |  double  |  傳回值群組中值的百分比排名。結果為 (r - 1) / (n - 1)，其中 r 是資料列的 rank()，n 是視窗分割區中的資料列總數。  | 
|  rank()  |  bigint  |  傳回一組值中值的排名。排名是一加列前面的列數，而該列與列不對等。因此，排序中的綁定值會在序列中產生間隙。排名會針對每個視窗分割區執行。  | 
|  row\$1number()  |  bigint  |  根據視窗分割區中的資料列順序，傳回每個資料列的唯一序號，從一個資料列開始。  | 
|  first\$1value(x)  |  【與輸入相同】  |  傳回視窗的第一個值。此函數的範圍是視窗影格。函數會將表達式或目標作為其參數。  | 
|  last\$1value(x)  |  【與輸入相同】  |  傳回視窗的最後一個值。此函數的範圍是視窗影格。函數會將表達式或目標作為其參數。  | 
|  nth\$1value(x， 位移）  |  【與輸入相同】  |  傳回從視窗開始的指定位移值。位移從 1 開始。位移可以是任何純量表達式。如果位移為 null 或大於視窗中的值數目，則會傳回 null。這是位移為零或負的錯誤。函數會將表達式或目標作為其第一個參數。  | 
|  lead(x【， offset【， default\$1value】】)  |  【與輸入相同】  |  傳回視窗中目前資料列之後位移資料列的值。位移從 0 開始，這是目前的資料列。位移可以是任何純量表達式。預設位移為 1。如果位移為 Null 或大於視窗，則會傳回 default\$1value，或未指定 Null。函數會將表達式或目標作為其第一個參數。  | 
|  lag(x【， offset【， default\$1value】】)  |  【與輸入相同】  |  在視窗中的目前資料列之前傳回位移資料列的值 位移從 0 開始，這是目前的資料列。位移可以是任何純量表達式。預設位移為 1。如果位移為 Null 或大於視窗，則會傳回 default\$1value，或未指定 Null。函數會將表達式或目標作為其第一個參數。  | 