

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

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

# 彙總函數
<a name="aggregate-functions"></a>

LiveAnalytics 的 Timestream 支援下列彙總函數。


| 函式 | 輸出資料類型 | Description | 
| --- | --- | --- | 
| arbitrary(x) | 【與輸入相同】 | 如果存在，則傳回 x 的任意非 Null 值。<pre>SELECT arbitrary(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `1` | 
| array\_agg(x) | array<【與輸入相同】 | 傳回從輸入 x 元素建立的陣列。<pre>SELECT array_agg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `[ 1,2,3,4 ]` | 
| avg(x) | double | 傳回所有輸入值的平均值 （算術平均值）。<pre>SELECT avg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `2.5` | 
| bool\_and（布林值） every（布林值）  | boolean | 如果每個輸入值都是 TRUE，則傳回 TRUE，否則傳回 FALSE。<pre>SELECT bool_and(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />範例結果： `false` | 
| bool\_or（布林值） | boolean | 如果任何輸入值為 TRUE，則傳回 TRUE，否則傳回 FALSE。<pre>SELECT bool_or(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />範例結果： `true` | 
| count(\*) count(x) | bigint | count(\*) 會傳回輸入列的數量。<br />count(x) 會傳回非 Null 輸入值的數量。<pre>SELECT count(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />範例結果： `4` | 
| count\_if(x)  | bigint | 傳回 TRUE 輸入值的數量。<pre>SELECT count_if(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre><br />範例結果： `3` | 
| geometric\_mean(x) | double | 傳回所有輸入值的幾何平均值。<pre>SELECT geometric_mean(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `2.213363839400643` | 
| max\_by(x， y)  | 【與 x 相同】 | 傳回在所有輸入值上與 y 最大值相關聯的 x 值。<pre>SELECT max_by(t.c1, t.c2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre><br />範例結果： `d` | 
| max\_by(x、y、n)  | array<【與 x 相同】> | 以 y 的遞減順序傳回與 y 所有輸入值 n 最大的 x 值。<pre>SELECT max_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre><br />範例結果： `[ d,c ]` | 
| min\_by(x， y) | 【與 x 相同】 | 傳回在所有輸入值上與 y 最小值相關聯的 x 值。<pre>SELECT min_by(t.c1, t.c2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre><br />範例結果： `a` | 
| min\_by(x、y、n) | array<【與 x 相同】> | 以 y 的遞增順序傳回與 y 所有輸入值 n 個最小值相關聯的 n 個 x 值。<pre>SELECT min_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre><br />範例結果： `[ a,b ]` | 
| max(x) | 【與輸入相同】 | 傳回所有輸入值的最大值。<pre>SELECT max(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `4` | 
| max(x， n) | array<【與 x 相同】> | 傳回 x 所有輸入值的 n 個最大值。<pre>SELECT max(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `[ 4,3 ]` | 
| min(x) | 【與輸入相同】 | 傳回所有輸入值的最小值。<pre>SELECT min(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `1` | 
| min(x， n) | array<【與 x 相同】> | 傳回 x 之所有輸入值的 n 個最小值。<pre>SELECT min(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `[ 1,2 ]` | 
| sum(x)  | 【與輸入相同】 | 傳回所有輸入值的總和。<pre>SELECT sum(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `10` | 
| bitwise\_and\_agg(x) | bigint | 傳回 2 補數表示法中所有輸入值的位元 AND。<pre>SELECT bitwise_and_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre><br />範例結果： `1` | 
| bitwise\_or\_agg(x) | bigint | 傳回 2 的補數表示法中所有輸入值的位元 OR。<pre>SELECT bitwise_or_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre><br />範例結果： `-3` | 
| approx\_distinct(x)  | bigint | 傳回相異輸入值的近似數量。此函數提供計數的近似值 (DISTINCT x)。如果所有輸入值都是 null，則會傳回零。此函數應該會產生 2.3% 的標準錯誤，這是所有可能集合中 （大約正常） 錯誤分佈的標準差。它不保證任何特定輸入集的錯誤上限。<pre>SELECT approx_distinct(t.c) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)</pre><br />範例結果： `5` | 
| approx\_distinct(x， e) | bigint | 傳回相異輸入值的近似數量。此函數提供計數的近似值 (DISTINCT x)。如果所有輸入值都是 null，則會傳回零。此函數應該會產生不超過 e 的標準錯誤，這是所有可能集合中 （大約正常） 錯誤分佈的標準差。它不保證任何特定輸入集的錯誤上限。此函數目前的實作需要 e 在 【0.0040625， 0.26000】 的範圍內。<pre>SELECT approx_distinct(t.c, 0.2) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)</pre><br />範例結果： `5` | 
| approx\_percentile(x， 百分比）  | 【與 x 相同】 | 以指定百分比傳回 x 的所有輸入值的近似百分位數。百分比的值必須介於零和一之間，而且所有輸入列都必須是常數。<pre>SELECT approx_percentile(t.c, 0.4) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `2` | 
| approx\_percentile(x， 百分比）  | array<【與 x 相同】> | 傳回每個指定百分比的所有 x 輸入值的近似百分位數。百分比陣列的每個元素必須介於零和一之間，且所有輸入列的陣列必須保持不變。<pre>SELECT approx_percentile(t.c, ARRAY[0.1, 0.8, 0.8]) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `[ 1,4,4 ]` | 
| approx\_percentile(x， w， 百分比）  | 【與 x 相同】 | 使用每個項目的權重 w，以 p 百分比傳回 x 所有輸入值的近似加權百分位數。權重必須是至少一個的整數值。它實際上是百分位數集中值 x 的複寫計數。p 的值必須介於零和一之間，而且所有輸入列都必須是常數。<pre>SELECT approx_percentile(t.c, 1, 0.1) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `1` | 
| approx\_percentile(x， w， 百分比）  | array<【與 x 相同】> | 針對陣列中指定的每個百分比，使用每個項目的權重 w，傳回 x 所有輸入值的近似加權百分位數。權重必須是至少一個的整數值。它實際上是百分位數集中值 x 的複寫計數。陣列的每個元素必須介於零和一之間，且所有輸入列的陣列必須保持不變。<pre>SELECT approx_percentile(t.c, 1, ARRAY[0.1, 0.8, 0.8]) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `[ 1,4,4 ]` | 
| approx\_percentile(x， w， 百分比， 準確度） | 【與 x 相同】 | 以 p 百分比傳回 x 所有輸入值的近似加權百分位數，使用每個項目的權重 w，並具有準確度的最大排名誤差。權重必須是至少一個的整數值。它實際上是百分位數集中值 x 的複寫計數。p 的值必須介於零和一之間，而且所有輸入列都必須是常數。準確度必須是大於零且小於一的值，而且所有輸入資料列都必須為常數。<pre>SELECT approx_percentile(t.c, 1, 0.1, 0.5) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre><br />範例結果： `1` | 
| corr(y， x) | double | 傳回輸入值的相互關聯係數。<pre>SELECT corr(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre><br />範例結果： `1.0` | 
| covar\_pop(y， x) | double | 傳回輸入值的母體共變數。<pre>SELECT covar_pop(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre><br />範例結果： `1.25` | 
| covar\_samp(y， x)  | double | 傳回輸入值的範例共變數。<pre>SELECT covar_samp(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre><br />範例結果： `1.6666666666666667` | 
| regr\_intercept(y， x) | double | 傳回輸入值的線性迴歸截距。y 是相依值。x 是獨立值。<pre>SELECT regr_intercept(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre><br />範例結果： `0.0` | 
| regr\_slope(y， x) | double | 傳回輸入值的線性迴歸斜率。y 是相依值。x 是獨立值。<pre>SELECT regr_slope(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)</pre><br />範例結果： `1.0` | 
| 偏斜 (x) | double | 傳回所有輸入值的偏斜。<pre>SELECT skewness(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />範例結果： `0.8978957037987335` | 
| stddev\_pop(x) | double | 傳回所有輸入值的母體標準差。<pre>SELECT stddev_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />範例結果： `2.4166091947189146` | 
| stddev\_samp(x) stddev(x) | double | 傳回所有輸入值的範例標準差。<pre>SELECT stddev_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />範例結果： `2.701851217221259` | 
| var\_pop(x)  | double | 傳回所有輸入值的母體變異數。<pre>SELECT var_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />範例結果： `5.840000000000001` | 
| var\_samp(x) 變數 (x)  | double | 傳回所有輸入值的範例變異數。<pre>SELECT var_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre><br />範例結果： `7.300000000000001` | 