

如需與 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> 範例結果： `1`  | 
|  array\$1agg(x)  |  array<【與輸入相同】  |  傳回從輸入 x 元素建立的陣列。 <pre>SELECT array_agg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `[ 1,2,3,4 ]`  | 
|  avg(x)  |  double  |  傳回所有輸入值的平均值 （算術平均值）。 <pre>SELECT avg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `2.5`  | 
|  bool\$1and（布林值） every（布林值）   |  boolean  |  如果每個輸入值都是 TRUE，則傳回 TRUE，否則傳回 FALSE。 <pre>SELECT bool_and(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 範例結果： `false`  | 
|  bool\$1or（布林值）  |  boolean  |  如果任何輸入值為 TRUE，則傳回 TRUE，否則傳回 FALSE。 <pre>SELECT bool_or(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 範例結果： `true`  | 
|  count(\$1) count(x)  |  bigint  |  count(\$1) 會傳回輸入列的數量。 count(x) 會傳回非 Null 輸入值的數量。 <pre>SELECT count(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 範例結果： `4`  | 
|  count\$1if(x)   |  bigint  |  傳回 TRUE 輸入值的數量。 <pre>SELECT count_if(t.c) FROM (VALUES true, true, false, true) AS t(c)</pre> 範例結果： `3`  | 
|  geometric\$1mean(x)  |  double  |  傳回所有輸入值的幾何平均值。 <pre>SELECT geometric_mean(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `2.213363839400643`  | 
|  max\$1by(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> 範例結果： `d`  | 
|  max\$1by(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> 範例結果： `[ d,c ]`  | 
|  min\$1by(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> 範例結果： `a`  | 
|  min\$1by(x、y、n)  |  array<【與 x 相同】>  |  以 y 的遞增順序傳回與 y 所有輸入值 n 最小相關聯的 x 的 n 值。 <pre>SELECT min_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)</pre> 範例結果： `[ a,b ]`  | 
|  max(x)  |  【與輸入相同】  |  傳回所有輸入值的最大值。 <pre>SELECT max(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `4`  | 
|  max(x， n)  |  array<【與 x 相同】>  |  傳回 x 所有輸入值的 n 個最大值。 <pre>SELECT max(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `[ 4,3 ]`  | 
|  min(x)  |  【與輸入相同】  |  傳回所有輸入值的最小值。 <pre>SELECT min(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `1`  | 
|  min(x， n)  |  array<【與 x 相同】>  |  傳回 x 之所有輸入值的 n 個最小值。 <pre>SELECT min(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `[ 1,2 ]`  | 
|  sum(x)   |  【與輸入相同】  |  傳回所有輸入值的總和。 <pre>SELECT sum(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `10`  | 
|  bitwise\$1and\$1agg(x)  |  bigint  |  傳回 2 補數表示法中所有輸入值的位元 AND。 <pre>SELECT bitwise_and_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre> 範例結果： `1`  | 
|  bitwise\$1or\$1agg(x)  |  bigint  |  傳回 2 補數表示法中所有輸入值的位元 OR。 <pre>SELECT bitwise_or_agg(t.c) FROM (VALUES 1, -3) AS t(c)</pre> 範例結果： `-3`  | 
|  approx\$1distinct(x)   |  bigint  |  傳回相異輸入值的近似數目。此函數提供計數的近似值 (DISTINCT x)。如果所有輸入值都是 null，則會傳回零。此函數應該會產生 2.3% 的標準錯誤，這是所有可能集合中 （大約正常） 錯誤分佈的標準差。它不保證任何特定輸入集的錯誤上限。 <pre>SELECT approx_distinct(t.c) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)</pre> 範例結果： `5`  | 
|  approx\$1distinct(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> 範例結果： `5`  | 
|  approx\$1percentile(x， 百分比）   |  【與 x 相同】  |  以指定百分比傳回 x 的所有輸入值的近似百分位數。百分比的值必須介於零和一之間，而且所有輸入列都必須為常數。 <pre>SELECT approx_percentile(t.c, 0.4) FROM (VALUES 1, 2, 3, 4) AS t(c)</pre> 範例結果： `2`  | 
|  approx\$1percentile(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> 範例結果： `[ 1,4,4 ]`  | 
|  approx\$1percentile(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> 範例結果： `1`  | 
|  approx\$1percentile(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> 範例結果： `[ 1,4,4 ]`  | 
|  approx\$1percentile(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> 範例結果： `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> 範例結果： `1.0`  | 
|  covar\$1pop(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> 範例結果： `1.25`  | 
|  covar\$1samp(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> 範例結果： `1.6666666666666667`  | 
|  regr\$1intercept(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> 範例結果： `0.0`  | 
|  regr\$1slope(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> 範例結果： `1.0`  | 
|  偏斜 (x)  |  double  |  傳回所有輸入值的偏態。 <pre>SELECT skewness(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 範例結果： `0.8978957037987335`  | 
|  stddev\$1pop(x)  |  double  |  傳回所有輸入值的母體標準差。 <pre>SELECT stddev_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 範例結果： `2.4166091947189146`  | 
|  stddev\$1samp(x) stddev(x)  |  double  |  傳回所有輸入值的範例標準差。 <pre>SELECT stddev_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 範例結果： `2.701851217221259`  | 
|  var\$1pop(x)   |  double  |  傳回所有輸入值的母體變異數。 <pre>SELECT var_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 範例結果： `5.840000000000001`  | 
|  var\$1samp(x) 變異數 (x)   |  double  |  傳回所有輸入值的範例變異數。 <pre>SELECT var_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)</pre> 範例結果： `7.300000000000001`  | 