# Aggregatfunktionen
# min
Aggregatfunktion, die das Minimum über eine Gruppe von Werten berechnet.
Beispiel
SELECT min(salary) FROM employees;
SELECT department, min(salary) FROM employees GROUP BY department;
# max
Aggregatfunktion, die das Maximum über eine Gruppe von Werten berechnet.
Beispiel
SELECT max(salary) FROM employees;
SELECT department, max(salary) FROM employees GROUP BY department;
# sum
Berechnet die Summe. Funktioniert nur für Zahlen.
Beispiel:
SELECT sum(salary) FROM employees;
# avg
Berechnet den arithmetischen Mittelwert.
avg(x)
Argumente
x
- Eingabewerte, müssen Integer, Float oder Decimal sein.
Rückgabewert
- Der arithmetische Mittelwert, immer als Float64.
NaN
, wenn der Eingabeparameterx
leer ist.
Beispiel
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
Berechnet einen ungefähren Quantilwert einer numerischen Datenfolge. Diese Funktion verwendet Reservoir Sampling mit einer Reservoirgröße von bis zu 8192 und einem Zufallszahlengenerator für die Stichprobenziehung. Das Ergebnis ist nicht deterministisch. Um einen exakten Quantilwert zu erhalten, verwenden Sie die Funktion quantileExact.
Wenn Sie mehrere quantile*
-Funktionen mit unterschiedlichen Leveln in einer Abfrage verwenden, werden die internen Zustände nicht kombiniert (d.h. die Abfrage arbeitet weniger effizient als möglich). In diesem Fall verwenden Sie die Funktion quantiles.
Beachten Sie, dass für eine leere numerische Datenfolge quantile
NaN zurückgibt, während seine quantile*
-Varianten entweder NaN oder einen Standardwert für den Sequenztyp zurückgeben, abhängig von der Variante.
quantile(level)(expr)
Alias:
median
.
Argumente
level
- Quantilniveau. Optionaler Parameter. Konstanter Gleitkommawert von 0 bis 1. Wir empfehlen die Verwendung eineslevel
-Werts im Bereich von[0.01, 0.99]
. Standardwert: 0,5. Beilevel=0,5
berechnet die Funktion den Median.expr
- Ausdruck über die Spaltenwerte, die zu numerischen Datentypen, Date oder DateTime führen.
Rückgabewert
- Ungefährer Quantilwert des angegebenen Niveaus.
- Typ:
- Float64 für numerische Datentypen.
- Date, wenn die Eingabewerte den Typ
Date
haben. - DateTime, wenn die Eingabewerte den Typ
DateTime
haben.
Beispiel
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
- Berechnet die Shannon-Entropie einer Spalte von Werten.
- Syntax
entropy(val)
- Argumente
val
- Spalte von Werten beliebigen Typs.
- Rückgabewert
- Shannon-Entropie.
- Typ: Float64.
- Beispiel
- Abfrage:
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;
- Ergebnis:
┌─entropy(vals)─┬─entropy(strings)─┐│ 1 │ 1.75 │└───────────────┴──────────────────┘