# 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 Eingabeparameter x 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 eines level-Werts im Bereich von [0.01, 0.99]. Standardwert: 0,5. Bei level=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)─┐│ 11.75 │└───────────────┴──────────────────┘
    
Last Updated: Thu Apr 11 2024 02:40:52 GMT+0000