彙總函數 - Amazon Timestream

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

彙總函數

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

函式 輸出資料類型 描述

任意 (x)

【與輸入相同】

如果存在任意非 Null 值,則傳回 x。

SELECT arbitrary(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 1

array_agg(x)

array<【與輸入相同】

傳回從輸入 x 元素建立的陣列。

SELECT array_agg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: [ 1,2,3,4 ]

avg(x)

double

傳回所有輸入值的平均值 (算術平均值)。

SELECT avg(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 2.5

bool_and(布林值) every(布林值)

boolean

如果每個輸入值都是 TRUE,則傳回 TRUE,否則傳回 FALSE。

SELECT bool_and(t.c) FROM (VALUES true, true, false, true) AS t(c)

範例結果: false

bool_or(布林值)

boolean

如果任何輸入值為 TRUE,則傳回 TRUE,否則傳回 FALSE。

SELECT bool_or(t.c) FROM (VALUES true, true, false, true) AS t(c)

範例結果: true

count(*) count(x)

bigint

count(*) 會傳回輸入列的數量。

count(x) 會傳回非 Null 輸入值的數量。

SELECT count(t.c) FROM (VALUES true, true, false, true) AS t(c)

範例結果: 4

count_if(x)

bigint

傳回 TRUE 輸入值的數量。

SELECT count_if(t.c) FROM (VALUES true, true, false, true) AS t(c)

範例結果: 3

geometric_mean(x)

double

傳回所有輸入值的幾何平均值。

SELECT geometric_mean(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 2.213363839400643

max_by(x, y)

【與 x 相同】

傳回在所有輸入值中與 y 最大值相關聯的 x 值。

SELECT max_by(t.c1, t.c2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)

範例結果: d

max_by(x、y、n)

array<【與 x 相同】>

以 y 的遞減順序傳回與 y 所有輸入值 n 最大值相關聯的 x n 值。

SELECT max_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)

範例結果: [ d,c ]

min_by(x, y)

【與 x 相同】

傳回在所有輸入值中與 y 最小值相關聯的 x 值。

SELECT min_by(t.c1, t.c2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)

範例結果: a

min_by(x、y、n)

array<【與 x 相同】>

以 y 的遞增順序傳回與 y 所有輸入值 n 個最小相關聯的 x 的 n 值。

SELECT min_by(t.c1, t.c2, 2) FROM (VALUES (('a', 1)), (('b', 2)), (('c', 3)), (('d', 4))) AS t(c1, c2)

範例結果: [ a,b ]

max(x)

【與輸入相同】

傳回所有輸入值的最大值。

SELECT max(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 4

max(x, n)

array<【與 x 相同】>

傳回 x 所有輸入值的 n 個最大值。

SELECT max(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: [ 4,3 ]

min(x)

【與輸入相同】

傳回所有輸入值的最小值。

SELECT min(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 1

min(x, n)

array<【與 x 相同】>

傳回 x 所有輸入值的 n 個最小值。

SELECT min(t.c, 2) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: [ 1,2 ]

sum(x)

【與輸入相同】

傳回所有輸入值的總和。

SELECT sum(t.c) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 10

bitwise_and_agg(x)

bigint

傳回 2 的補數表示法中所有輸入值的位元 AND。

SELECT bitwise_and_agg(t.c) FROM (VALUES 1, -3) AS t(c)

範例結果: 1

bitwise_or_agg(x)

bigint

傳回 2 的補數表示法中所有輸入值的位元 OR。

SELECT bitwise_or_agg(t.c) FROM (VALUES 1, -3) AS t(c)

範例結果: -3

approx_distinct(x)

bigint

傳回相異輸入值的近似數目。此函數提供計數 (DISTINCT x) 的近似值。如果所有輸入值都是 null,則會傳回零。此函數應該會產生 2.3% 的標準錯誤,這是所有可能集合中 (大約正常) 錯誤分佈的標準差。它不保證任何特定輸入集的錯誤上限。

SELECT approx_distinct(t.c) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)

範例結果: 5

approx_distinct(x, e)

bigint

傳回相異輸入值的近似數目。此函數提供計數 (DISTINCT x) 的近似值。如果所有輸入值都是 null,則會傳回零。此函數應該會產生不超過 e 的標準錯誤,這是所有可能集合中 (大約正常) 錯誤分佈的標準差。它不保證任何特定輸入集的錯誤上限。此函數目前的實作需要 e 位於 【0.0040625, 0.26000】 的範圍內。

SELECT approx_distinct(t.c, 0.2) FROM (VALUES 1, 2, 3, 4, 8) AS t(c)

範例結果: 5

approx_percentile (x, 百分比)

【與 x 相同】

傳回指定百分比下 x 所有輸入值的近似百分位數。百分比的值必須介於零和一之間,且所有輸入列都必須為常數。

SELECT approx_percentile(t.c, 0.4) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 2

approx_percentile(x, 百分比)

array<【與 x 相同】>

傳回每個指定百分比的所有 x 輸入值的近似百分位數。百分比陣列的每個元素必須介於零和一之間,且所有輸入列的陣列必須保持不變。

SELECT approx_percentile(t.c, ARRAY[0.1, 0.8, 0.8]) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: [ 1,4,4 ]

approx_percentile(x, w, 百分比)

【與 x 相同】

以 p 百分比傳回使用每個項目權重 w 的所有 x 輸入值的近似權重百分位數。權重必須是至少一個的整數值。它實際上是百分位數集中值 x 的複寫計數。p 的值必須介於零和一之間,且所有輸入列都必須為常數。

SELECT approx_percentile(t.c, 1, 0.1) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 1

approx_percentile(x、w、百分比)

array<【與 x 相同】>

針對陣列中指定的每個百分比,使用每個項目的權重 w,傳回 x 所有輸入值的近似權重百分位數。權重必須是至少一個的整數值。它實際上是百分位數集中值 x 的複寫計數。陣列的每個元素必須介於零和一之間,且所有輸入列的陣列必須保持不變。

SELECT approx_percentile(t.c, 1, ARRAY[0.1, 0.8, 0.8]) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: [ 1,4,4 ]

approx_percentile(x、w、%、準確性)

【與 x 相同】

以 p 百分比傳回每個項目的權重 w,以及準確度的最大等級誤差,針對 x 的所有輸入值,傳回約略權重百分比。權重必須是至少一個的整數值。它實際上是百分位數集中值 x 的複寫計數。p 的值必須介於零和一之間,且所有輸入列都必須為常數。準確度必須是大於零且小於一的值,且所有輸入列都必須為常數。

SELECT approx_percentile(t.c, 1, 0.1, 0.5) FROM (VALUES 1, 2, 3, 4) AS t(c)

範例結果: 1

corr(y, x)

double

傳回輸入值的關聯係數。

SELECT corr(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)

範例結果: 1.0

covar_pop(y, x)

double

傳回輸入值的母群體共變數。

SELECT covar_pop(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)

範例結果: 1.25

covar_samp(y, x)

double

傳回輸入值的範例共變數。

SELECT covar_samp(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)

範例結果: 1.6666666666666667

regr_intercept(y, x)

double

傳回輸入值的線性迴歸截距。y 是相依值。x 是獨立值。

SELECT regr_intercept(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)

範例結果: 0.0

regr_slope(y, x)

double

傳回輸入值的線性迴歸斜率。y 是相依值。x 是獨立值。

SELECT regr_slope(t.c1, t.c2) FROM (VALUES ((1, 1)), ((2, 2)), ((3, 3)), ((4, 4))) AS t(c1, c2)

範例結果: 1.0

偏斜 (x)

double

傳回所有輸入值的偏斜。

SELECT skewness(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)

範例結果: 0.8978957037987335

stddev_pop(x)

double

傳回所有輸入值的母群體標準差。

SELECT stddev_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)

範例結果: 2.4166091947189146

stddev_samp(x) stddev(x)

double

傳回所有輸入值的範例標準差。

SELECT stddev_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)

範例結果: 2.701851217221259

var_pop(x)

double

傳回所有輸入值的母群體差異。

SELECT var_pop(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)

範例結果: 5.840000000000001

var_samp(x) 變數 (x)

double

傳回所有輸入值的範例差異。

SELECT var_samp(t.c1) FROM (VALUES 1, 2, 3, 4, 8) AS t(c1)

範例結果: 7.300000000000001