INTEGRITY Dokumentace

Agregační funkce

count

Použití:

count()
count(DISTINCT column_name)

count je agregační funkce, která vrací počet řádků v každé skupině nebo sadě výsledků.

count lze také použít ke spočítání počtu odlišných (unikátních) hodnot v každém sloupci:

Příklad:

-- return the total number of rows
count()
-- return the number of different values in the column
count(DISTINCT column_name)

sum

Použití:

sum([DISTINCT] column_name)

sum je agregační funkce, která vrací součet hodnot sloupce napříč všemi řádky v každé skupině nebo sadě výsledků. Sum také podporuje DISTINCT, v tomto případě ale sečte pouze jedinečné hodnoty ve sloupci.

Příklad:

-- return the total cost of all items
sum(item_cost)
-- return the total of all unique item costs
sum(DISTINCT item_cost)

avg

Použití:

avg([DISTINCT] column_name)

avg je agregační funkce, která vrací průměr hodnot sloupce napříč všemi řádky v každé skupině nebo sadě výsledků. Avg také podporuje DISTINCT, v tomto případě ale zprůměruje pouze jedinečné hodnoty ve sloupci.

Příklad:

-- return the mean item cost
avg(item_cost)
-- return the mean of unique item costs
avg(DISTINCT item_cost)

min

Použití:

min(column_name)

min je agregační funkce, která vrací minimální hodnotu sloupce napříč všemi řádky.

Příklad:

-- return the minimum item cost
min(item_cost)

max

Použití:

max(column_name)

max je agregační funkce, která vrací maximální hodnotu sloupce napříč všemi řádky.

Příklad:

-- return the maximum item cost
max(item_cost)

quantileExactWeighted

Použití:

quantileExactWeighted(q)(column_name, weight_column_name)

quantileExactWeighted je agregační funkce, která vrací hodnotu v q. kvantil v pojmenovaném sloupci napříč všemi řádky v každé skupině nebo sadě výsledků. Každý řádek se váží podle hodnoty v weight_column_name. Obvykle by to bylo _sample_interval (viz Vzorkování pro další informace).

Příklad:

-- estimate the median value of <double1>
quantileExactWeighted(0.5)(double1, _sample_interval)

-- in a table of query times, estimate the 95th centile query time
quantileExactWeighted(0.95)(query_time, _sample_interval)

Kvůli zpětné kompatibilitě je k dispozici také jako quantileWeighted(q, column_name, weight_column_name).

argMax New

Použití:

argMax(arg, val)

argMax je agregační funkce, která vrací arg hodnotu odpovídající maximální hodnotě val.

Pokud je více arg mají maximální hodnotu val, vrátí se kterákoli z nich.

Příklad:

-- find the <blob1> value for the row with the highest <double1>
argMax(blob1, double1)

-- find the <blob1> value from the most heavily sampled row
argMax(blob1, _sample_interval)

argMin New

Použití:

argMin(arg, val)

argMin je agregační funkce, která vrací arg hodnotu odpovídající minimální hodnotě val.

Pokud je více arg mají minimální hodnotu val, vrátí se kterákoli z nich.

Příklad:

-- find the <blob1> value for the row with the lowest <double1>
argMin(blob1, double1)

-- find the <blob1> value from the least heavily sampled row
argMin(blob1, _sample_interval)

first_value New

Použití:

first_value(column_name)

first_value je agregační funkce, která vrací první hodnotu zadaného sloupce.

Příklad:

-- find the oldest value of <blob1>
SELECT first_value(blob1) FROM my_dataset ORDER BY timestamp ASC

last_value New

Použití:

last_value(column_name)

last_value je agregační funkce, která vrací poslední hodnotu zadaného sloupce.

Příklad:

-- find the oldest value of <blob1>
SELECT last_value(blob1) FROM my_dataset ORDER BY timestamp DESC

topK New

Použití:

topK(N)(column)

topK je agregační funkce, která vrací nejčastější N hodnoty sloupce.

N je volitelné a jeho výchozí hodnota je 10.

Příklad:

-- find the 10 most common values of <double1>
SELECT topK(double1) FROM my_dataset

-- find the 15 most common values of <blob1>
SELECT topK(15)(blob1) FROM my_dataset

topKWeighted New

Použití:

topKWeighted(N)(column, weight_column)

topKWeighted je agregační funkce, která vrací nejčastější N hodnoty sloupce vážené podle druhého sloupce.

N je volitelné a jeho výchozí hodnota je 10.

Příklad:

-- find the 10 most common values of <double1>, weighted by `_sample_interval`
SELECT topKWeighted(double1, _sample_interval) FROM my_dataset

-- find the 15 most common values of <blob1>, weighted by `_sample_interval`
SELECT topKWeighted(15)(blob1, _sample_interval) FROM my_dataset

countIf New

Použití:

countIf(<expr>)

countIf je agregační funkce, která vrací počet řádků v sadě výsledků, ale počítá pouze řádky, u kterých se zadaný výraz vyhodnotí jako true.

Příklad:

-- return the number of rows where `double1` is greater than 5
countIf(double1 > 5)

sumIf New

Použití:

sumIf(<expr>, <expr>)

sumIf je agregační funkce, která vrací součet prvního výrazu napříč všemi řádky v sadě výsledků, ale zahrnuje pouze řádky, u kterých se druhý výraz vyhodnotí jako true.

Příklad:

-- return the sum of column `item_cost` of all items where another column `in_stock` is not zero
sumIf(item_cost, in_stock > 0)

avgIf New

Použití:

avgIf(<expr>, <expr>)

avgIf je agregační funkce, která vrací průměr výrazu napříč všemi řádky v sadě výsledků, ale zahrnuje pouze řádky, u kterých se druhý výraz vyhodnotí jako true.

Příklad:

-- return the mean of column `item_cost` where another column `in_stock` is not zero
avgIf(item_cost, in_stock > 0)