# Funciones de agregación
# min
Función de agregación que calcula el mínimo entre un grupo de valores.
Ejemplo
SELECT min(salario) FROM empleados;
SELECT departamento, min(salario) FROM empleados GROUP BY departamento;
# max
Función de agregación que calcula el máximo entre un grupo de valores.
Ejemplo
SELECT max(salario) FROM empleados;
SELECT departamento, max(salario) FROM empleados GROUP BY departamento;
# sum
Calcula la suma. Solo funciona para números.
Ejemplo:
SELECT sum(salario) FROM empleados;
# avg
Calcula la media aritmética.
avg(x)
Argumentos
x
— valores de entrada, deben ser Entero, Flotante o Decimal.
Valor devuelto
- La media aritmética, siempre como Float64.
NaN
si el parámetro de entradax
está vacío.
Ejemplo
SELECT avg(x) FROM values('x Int8', 0, 1, 2, 3, 4, 5);
┌─avg(x)─┐
│ 2.5 │
└────────┘
CREATE table test (t UInt8) ENGINE = Memory;
SELECT avg(t) FROM test;
┌─avg(x)─┐
│ nan │
└────────┘
# quantile
Calcula un cuantil aproximado de una secuencia de datos numéricos. Esta función aplica el muestreo de depósito con un tamaño de depósito de hasta 8192 y un generador de números aleatorios para el muestreo. El resultado no es determinista. Para obtener un cuantil exacto, use la función quantileExact.
Cuando se utilizan varias funciones quantile*
con diferentes niveles en una consulta, los estados internos no se combinan (es decir, la consulta funciona de manera menos eficiente de lo que podría). En este caso, use la función quantiles.
Tenga en cuenta que para una secuencia numérica vacía, quantile
devolverá NaN, pero sus variantes quantile*
devolverán NaN o un valor predeterminado para el tipo de secuencia, según la variante.
quantile(level)(expr)
Alias:
median
.
Argumentos
level
— Nivel del cuantil. Parámetro opcional. Número de punto flotante constante de 0 a 1. Recomendamos usar un valor delevel
en el rango de[0.01, 0.99]
. Valor predeterminado: 0.5. Enlevel=0.5
la función calcula la mediana.expr
— Expresión sobre los valores de la columna que resultan en tipos de datos numéricos, Fecha o FechaHora.
Valor devuelto
- Cuantil aproximado del nivel especificado.
- Tipo:
- Float64 para entrada de tipo de datos numéricos.
- Fecha si los valores de entrada tienen el tipo
Fecha
. - FechaHora si los valores de entrada tienen el tipo
FechaHora
.
Ejemplo
CREATE table test (t UInt8) ENGINE = Memory;
INSERT INTO test values(1)(1)(2)(3)
SELECT quantile(t) FROM test
┌─quantile(t)───┐
│ 1.5 │
└───────────────┘
# entropy
- Calcula la entropía de Shannon de una columna de valores.
- Sintaxis
entropy(val)
- Argumentos
val
— Columna de valores de cualquier tipo.
- Valor devuelto
- Entropía de Shannon.
- Tipo: Float64.
- Ejemplo
- Consulta:
CREATE TABLE entropy (`vals` UInt32,`strings` String) ENGINE = Memory; INSERT INTO entropy VALUES (1, 'A'), (1, 'A'), (1,'A'), (1,'A'), (2,'B'), (2,'B'), (2,'C'), (2,'D'); SELECT entropy(vals), entropy(strings) FROM entropy;
- Resultado:
┌─entropy(vals)─┬─entropy(strings)─┐│ 1 │ 1.75 │└───────────────┴──────────────────┘