Funciones de agregación - Amazon Timestream

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información aquí.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Funciones de agregación

Timestream for LiveAnalytics admite las siguientes funciones de agregación.

Función Tipo de datos de salida Description (Descripción)

arbitrary(x)

[igual que la entrada]

Devuelve un valor arbitrario no nulo de x, si existe.

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

Ejemplo de resultado: 1

array_agg(x)

array<[igual que la entrada]

Devuelve una matriz creada a partir de los elementos de x de entrada.

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

Ejemplo de resultado: [ 1,2,3,4 ]

avg(x)

double

Devuelve el promedio (media aritmética) de todos los valores de entrada.

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

Ejemplo de resultado: 2.5

bool_and(booleano) every(booleano)

booleano

Devuelve VERDADERO si todos los valores de entrada son VERDADEROS; de lo contrario, devuelve FALSO.

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

Ejemplo de resultado: false

bool_or(booleano)

booleano

Devuelve VERDADERO si algún valor de entrada es VERDADERO; de lo contrario, devuelve FALSO.

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

Ejemplo de resultado: true

count(*) count(x)

bigint

count(*) devuelve el número de filas de entrada.

count(x) devuelve el número de valores de entrada no nulos.

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

Ejemplo de resultado: 4

count_if(x)

bigint

Devuelve el número de valores de entrada TRUE.

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

Ejemplo de resultado: 3

geometric_mean(x)

double

Devuelve la media geométrica de todos los valores de entrada.

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

Ejemplo de resultado: 2.213363839400643

max_by(x, y)

[igual que x]

Devuelve el valor de x asociado al valor máximo de y sobre todos los valores de entrada.

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

Ejemplo de resultado: d

max_by(x, y, n)

matriz<[igual que x]>

Devuelve n valores de x asociados al n mayor de todos los valores de entrada de y en orden descendente de y.

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

Ejemplo de resultado: [ d,c ]

min_by(x, y)

[igual que x]

Devuelve el valor de x asociado al valor mínimo de y sobre todos los valores de entrada.

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

Ejemplo de resultado: a

min_by(x, y, n)

matriz<[igual que x]>

Devuelve n valores de x asociados al n menor de todos los valores de entrada de y en orden ascendente de y.

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

Ejemplo de resultado: [ a,b ]

max(x)

[igual que la entrada]

Devuelve el valor máximo de todos los valores de entrada.

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

Ejemplo de resultado: 4

max(x, n)

matriz<[igual que x]>

Devuelve los n valores más altos de todos los valores de entrada de x.

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

Ejemplo de resultado: [ 4,3 ]

min(x)

[igual que la entrada]

Devuelve el valor mínimo de todos los valores de entrada.

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

Ejemplo de resultado: 1

min(x, n)

matriz<[igual que x]>

Devuelve los n valores más bajos de todos los valores de entrada de x.

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

Ejemplo de resultado: [ 1,2 ]

sum(x)

[igual que la entrada]

Devuelve la suma de todos los valores de entrada.

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

Ejemplo de resultado: 10

bitwise_and_agg(x)

bigint

Devuelve el AND bit a bit de todos los valores de entrada en una representación de complemento de 2.

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

Ejemplo de resultado: 1

bitwise_or_agg(x)

bigint

Devuelve el OR bit a bit de todos los valores de entrada en una representación de complemento de 2.

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

Ejemplo de resultado: -3

approx_distinct(x)

bigint

Devuelve el número aproximado de elementos distintos de una columna. Esta función proporciona una aproximación del recuento (DISTINCT x). Si todos los valores de entrada son nulos, se devuelve cero. Esta función debería producir un error estándar del 2,3 %, que es la desviación estándar de la distribución del error (aproximadamente normal) en todos los conjuntos posibles. No garantiza un límite superior del error para ningún conjunto de entradas específico.

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

Ejemplo de resultado: 5

approx_distinct(x, e)

bigint

Devuelve el número aproximado de elementos distintos de una columna. Esta función proporciona una aproximación del recuento (DISTINCT x). Si todos los valores de entrada son nulos, se devuelve cero. Esta función debería producir un error estándar inferior a e, que es la desviación estándar de la distribución del error (aproximadamente normal) en todos los conjuntos posibles. No garantiza un límite superior del error para ningún conjunto de entradas específico. La implementación actual de esta función requiere que e esté en el rango de [0,0040625; 0,26000].

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

Ejemplo de resultado: 5

approx_percentile(x, porcentaje)

[igual que x]

Devuelve el percentil aproximado de todos los valores de entrada de x en el porcentaje indicado. El valor del porcentaje debe estar entre cero y uno y debe ser constante en todas las filas de entrada.

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

Ejemplo de resultado: 2

approx_percentile(x, porcentajes)

matriz<[igual que x]>

Devuelve el percentil aproximado de todos los valores de entrada de x en cada uno de los porcentajes indicados. Cada elemento de la matriz de porcentajes debe estar entre cero y uno, y la matriz debe ser constante en todas las filas de entrada.

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

Ejemplo de resultado: [ 1,4,4 ]

approx_percentile(x, w, porcentaje)

[igual que x]

Devuelve el percentil ponderado aproximado de todos los valores de entrada de x mediante el uso del peso w por elemento al porcentaje p. El peso debe ser un valor entero de al menos uno. En efecto, es un recuento de réplicas para el valor x del conjunto de percentiles. El valor de p debe estar entre cero y uno y debe ser constante en todas las filas de entrada.

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

Ejemplo de resultado: 1

approx_percentile(x, w, porcentajes)

matriz<[igual que x]>

Devuelve el percentil ponderado aproximado de todos los valores de entrada de x mediante el uso del peso w por elemento en cada uno de los porcentajes que se especifica en la matriz. El peso debe ser un valor entero de al menos uno. En efecto, es un recuento de réplicas para el valor x del conjunto de percentiles. Cada elemento de la matriz debe estar entre cero y uno, y la matriz debe ser constante en todas las filas de entrada.

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

Ejemplo de resultado: [ 1,4,4 ]

approx_percentile(x, w, porcentaje, precisión)

[igual que x]

Devuelve el percentil ponderado aproximado de todos los valores de entrada de x mediante el uso del peso w por elemento en el porcentaje p, con un error de precisión máximo. El peso debe ser un valor entero de al menos uno. En efecto, es un recuento de réplicas para el valor x del conjunto de percentiles. El valor de p debe estar entre cero y uno y debe ser constante en todas las filas de entrada. La precisión debe ser un valor superior a cero e inferior a uno, y debe ser constante en todas las filas de entrada.

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

Ejemplo de resultado: 1

corr(y, x)

double

Devuelve el coeficiente de correlación de los valores de entrada.

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

Ejemplo de resultado: 1.0

covar_pop(y, x)

double

Devuelve la covarianza poblacional de los valores de entrada.

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

Ejemplo de resultado: 1.25

covar_samp(y, x)

double

Devuelve la covarianza muestral de los valores de entrada.

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

Ejemplo de resultado: 1.6666666666666667

regr_intercept(y, x)

double

Devuelve la intersección de regresión lineal de los valores de entrada. y es el valor dependiente. x es el valor independiente.

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

Ejemplo de resultado: 0.0

regr_slope(y, x)

double

Devuelve la pendiente de regresión lineal de los valores de entrada. y es el valor dependiente. x es el valor independiente.

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

Ejemplo de resultado: 1.0

skewness(x)

double

Devuelve la asimetría de todos los valores de entrada.

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

Ejemplo de resultado: 0.8978957037987335

stddev_pop(x)

double

Devuelve la desviación estándar poblacional de todos los valores de entrada.

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

Ejemplo de resultado: 2.4166091947189146

stddev_samp(x) stddev(x)

double

Devuelve la desviación estándar muestral de todos los valores de entrada.

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

Ejemplo de resultado: 2.701851217221259

var_pop(x)

double

Devuelve la varianza poblacional de todos los valores de entrada.

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

Ejemplo de resultado: 5.840000000000001

var_samp(x) variance(x)

double

Devuelve la varianza muestral de todos los valores de entrada.

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

Ejemplo de resultado: 7.300000000000001