Grand Aggregate SQL Functions
All Grand Aggregate functions produce a scalar result of the specified operation on the input sequence.
seq_count() Count of all elements seq_max() Maximum element value seq_min() Minimum element value seq_sum() Sum of all elements seq_prd() Product of all elements seq_avg() Average of all elements seq_var() Variance of elements seq_var_samp() Sample Variance of elements seq_dev() Standard Deviation of elements seq_dev_samp() Sample Standard Deviation of elements seq_approxdc() Approximate count of distinct values seq_empty() Return true
if the sequence is empty; otherwisefalse
Example
Following is an example code snippet demonstrating some of the grand aggregate functions:
-- count, max, min INSERT INTO SimpleSequence(testNumber,iVal1) VALUES(1,'{-3,-2,-1,0,1,2,3}'); SELECT iVal1, seq_count(iVal1) AS "count", seq_max(iVal1) AS "max", seq_min(iVal1) AS "min" FROM SimpleSequence WHERE testNumber = 1; iVal1{} count max min ------------------------------------------------------------------------- {-3, -2, -1, 0, 1, 2, 3} 7 3 -3 -- _sum, _prd, _avg, _var, _dev INSERT INTO SimpleSequence(testNumber,fVal1) VALUES(3,'{1.1,2.2,3.3}'); SELECT fVal1, seq_sum(fVal1) AS "sum", seq_prd(fVal1) AS "prd", seq_avg(fVal1) AS "avg", seq_var(fVal1) AS "var", seq_dev(fVal1) AS "dev" FROM SimpleSequence WHERE testNumber = 3; fVal1{} sum prd avg var dev ------------------------------------------------------------------------- {1.10000002384186, 2.20000004768372, 3.29999995231628} 6.60000002384186 7.98600023078918 2.20000000794729 0.806666614214581 0.898146209820306 -- _approxdc INSERT INTO SimpleSequence(testNumber,fVal1) VALUES(4,'{1.1,1.1,2.2,3.3}'); SELECT fVal1, seq_approxdc(fVal1) AS "approxdc" FROM SimpleSequence WHERE testNumber = 4; fVal1 approxdc ------------------------------------------------------------------------- {1.10000002384186, 1.10000002384186, 2.20000004768372, 3.29999995231628} 3 -- _empty INSERT INTO SimpleSequence(testNumber,fVal1,iVal1) VALUES(5,'{1.1,1.1,2.2,3.3}', '{}'); SELECT seq_empty(iVal1) AS "iVal1 empty?", seq_empty(fVal1) AS "fVal1 empty?" FROM SimpleSequence WHERE testNumber = 5; iVal1 empty? fVal1 empty? ------------------------------------------------------------------------- true false