APPROX_COUNT_DISTINCT(<expr> any [, <relativeSD> integer|double|decimal])
SELECT approx_count_distinct(col1) FROM (VALUES (1), (1), (2), (2), (3)) tab(col1);3
AVG(<expr> integer|double|decimal)
> SELECT avg(col) FROM (VALUES (1), (2), (3)) AS tab(col);2.0> SELECT avg(col) FROM (VALUES (1), (2), (NULL)) AS tab(col);1.5
CORR(<expr> integer|double|decimal, <expr> integer|double|decimal)
> SELECT corr(c1, c2) FROM (VALUES (3, 2), (3, 3), (6, 4)) as tab(c1, c2);0.8660254037844387
COUNT(*)COUNT([DISTINCT] <col1> ANY, <col2> ANY, ...)
> SELECT count(*) FROM (VALUES (NULL), (5), (5), (20)) AS tab(col);4> SELECT count(col) FROM (VALUES (NULL), (5), (5), (20)) AS tab(col);3> SELECT count(DISTINCT col) (FROM VALUES (NULL), (5), (5), (10)) AS tab(col);2
COUNT_IF(<expr> ANY)
> SELECT count_if(col % 2 = 0) FROM (VALUES (NULL), (0), (1), (2), (3)) AS tab(col);2> SELECT count_if(col IS NULL) FROM (VALUES (NULL), (0), (1), (2), (3)) AS tab(col);1
COVAR_POP(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
> SELECT covar_pop(c1, c2) FROM (VALUES (1,1), (2,2), (3,3)) AS tab(c1, c2);0.6666666666666666
COVAR_SAMP(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
> SELECT covar_samp(c1, c2) FROM (VALUES (1,1), (2,2), (3,3)) AS tab(c1, c2);1.0
FIRST_VALUE(<expr> T[, <isIgnoreNull> boolean])
> SELECT first_value(col) FROM (VALUES (10), (5), (20)) AS tab(col);10> SELECT first_value(col) FROM (VALUES (NULL), (5), (20)) AS tab(col);NULL> SELECT first_value(col, true) FROM (VALUES (NULL), (5), (20)) AS tab(col);5
FIRST(<expr> T[, <isIgnoreNull> boolean])
> SELECT first(col) FROM (VALUES (10), (5), (20)) AS tab(col);10> SELECT first(col) FROM (VALUES (NULL), (5), (20)) AS tab(col);NULL> SELECT first(col, true) FROM (VALUES (NULL), (5), (20)) AS tab(col);5
KURTOSIS(<expr> integer|double|decimal)
> SELECT kurtosis(col) FROM (VALUES (-10), (-20), (100), (1000)) AS tab(col);-0.7014368047529627> SELECT kurtosis(col) FROM (VALUES (1), (10), (100), (10), (1)) as tab(col);0.19432323191699075s
LAST_VALUE(<expr> T[, <isIgnoreNull> boolean])
> SELECT last_value(col) FROM (VALUES (10), (5), (20)) AS tab(col);20> SELECT last_value(col) FROM (VALUES (10), (5), (NULL)) AS tab(col);NULL> SELECT last_value(col, true) FROM (VALUES (10), (5), (NULL)) AS tab(col);5
LAST(<expr> T[, <isIgnoreNull> boolean])
> SELECT last(col) FROM (VALUES (10), (5), (20)) AS tab(col);20> SELECT last(col) FROM (VALUES (10), (5), (NULL)) AS tab(col);NULL> SELECT last(col, true) FROM (VALUES (10), (5), (NULL)) AS tab(col);5
MEAN(<expr> integer|double|decimal)
> SELECT mean(col) FROM (VALUES (1), (2), (3)) AS tab(col);2.0> SELECT mean(col) FROM (VALUES (1), (2), (NULL)) AS tab(col);1.5
PERCENTILE(<col> ANY, <percentage> integer|double|decimal|array<double> [, <frequency> integer])
> SELECT percentile(col, 0.3) FROM (VALUES (0), (10)) AS tab(col);3.0> SELECT percentile(col, array(0.25, 0.75)) FROM (VALUES (0), (10)) AS tab(col);[2.5,7.5]
SKEWNESS(<col> integer|double|decimal)
> SELECT skewness(col) FROM (VALUES (-10), (-20), (100), (1000)) AS tab(col);1.1135657469022011> SELECT skewness(col) FROM (VALUES (-1000), (-100), (10), (20)) AS tab(col);-1.1135657469022011
PERCENTILE_APPROX(<col> integer|double|decimal, <percentage> double|array<double>[, <accuracy> integer])
> SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100) FROM (VALUES (0), (1), (2), (10)) AS tab(col);[1,1,0]> SELECT percentile_approx(col, 0.5, 100) FROM (VALUES (0), (6), (7), (9), (10)) AS tab(col);7
APPROX_PERCENTILE(<col> integer|double|decimal, <percentage> double|array<double>[, <accuracy> integer])
> SELECT APPROX_PERCENTILE(col, array(0.5, 0.4, 0.1), 100) FROM (VALUES (0), (1), (2), (10)) AS tab(col);[1,1,0]> SELECT APPROX_PERCENTILE(col, 0.5, 100) FROM (VALUES (0), (6), (7), (9), (10)) AS tab(col);7
MAX(<col> integer|double|decimal)
> SELECT max(col) FROM (VALUES (10), (50), (20)) AS tab(col);50
MAX_BY(<x> T, <y> integer|double|decimal)
> SELECT max_by(x, y) FROM (VALUES (('a', 10)), (('b', 50)), (('c', 20))) AS tab(x, y);b
MIN(<col> integer|double|decimal)
> SELECT min(col) FROM (VALUES (10), (50), (20)) AS tab(col);10
MIN_BY(<x> T, <y> integer|double|decimal)
> SELECT min_by(x, y) FROM (VALUES (('a', 10)), (('b', 50)), (('c', 20))) AS tab(x, y);a
STD(<col> integer|double|decimal)
> SELECT std(col) FROM (VALUES (1), (2), (3)) AS tab(col);1.0
STDDEV(<col> integer|double|decimal)
> SELECT stddev(col) FROM (VALUES (1), (2), (3)) AS tab(col);1.0
STDDEV_POP(<col> integer|double|decimal)
> SELECT stddev_pop(col) FROM (VALUES (1), (2), (3)) AS tab(col);0.816496580927726
STDDEV_SAMP(<col> integer|double|decimal)
> SELECT stddev_samp(col) FROM (VALUES (1), (2), (3)) AS tab(col);1.0
SUM(<col> integer|double|decimal)
> SELECT sum(col) FROM (VALUES (5), (10), (15)) AS tab(col);30> SELECT sum(col) FROM (VALUES (NULL), (10), (15)) AS tab(col);25> SELECT sum(col) FROM (VALUES (NULL), (NULL)) AS tab(col);NULL
VARIANCE(<col> integer|double|decimal)
> SELECT VARIANCE(col) FROM (VALUES (1), (2), (3)) AS tab(col);1.0
VAR_POP(<col> integer|double|decimal)
> SELECT var_pop(col) FROM (VALUES (1), (2), (3)) AS tab(col);0.6666666666666666
VAR_SAMP(<col> integer|double|decimal)
> SELECT var_samp(col) FROM (VALUES (1), (2), (3)) AS tab(col);1.0
HISTOGRAM_NUMERIC(<col> integer, <nb> integer)
> SELECT histogram_numeric(col, 5) FROM (VALUES (0), (1), (2), (10)) AS tab(col);[{"x":0,"y":1.0},{"x":1,"y":1.0},{"x":2,"y":1.0},{"x":10,"y":1.0}]
COLLECT_LIST(<col> T)
> SELECT collect_list(col) FROM (VALUES (1), (2), (1)) AS tab(col);[1,2,1]
COLLECT_SET(<col> T)
> SELECT collect_set(col) FROM (VALUES (1), (2), (1)) AS tab(col);[1,2]
COUNT_MIN_SKETCH(<col> T, <eps> double, <confidence> double, <seed> integer)
> SELECT hex(count_min_sketch(col, 0.5d, 0.5d, 1)) FROM (VALUES (1), (2), (1)) AS tab(col);0000000100000000000000030000000100000004000000005D8D6AB90000000000000000000000000000000200000000000000010000000000000000
EVERY(<col> boolean)
> SELECT every(col) FROM (VALUES (true), (true), (true)) AS tab(col);true> SELECT every(col) FROM (VALUES (NULL), (true), (true)) AS tab(col);true> SELECT every(col) FROM (VALUES (true), (false), (true)) AS tab(col);false
BOOL_AND(<col> boolean)
> SELECT bool_and(col) FROM (VALUES (true), (true), (true)) AS tab(col);true> SELECT bool_and(col) FROM (VALUES (NULL), (true), (true)) AS tab(col);true> SELECT bool_and(col) FROM (VALUES (true), (false), (true)) AS tab(col);false
<expr1> AND <expr2>
> SELECT true and true;true> SELECT true and false;false> SELECT true and NULL;NULL> SELECT false and NULL;false
<expr1> OR <expr2>
> SELECT true or false;true> SELECT false or false;false> SELECT true or NULL;true> SELECT false or NULL;NULL
ANY(<col> boolean)
> SELECT any(col) FROM (VALUES (true), (false), (false)) AS tab(col);true> SELECT any(col) FROM (VALUES (NULL), (true), (false)) AS tab(col);true> SELECT any(col) FROM (VALUES (false), (false), (NULL)) AS tab(col);false
SOME(<col> boolean)
> SELECT some(col) FROM (VALUES (true), (false), (false)) AS tab(col);true> SELECT some(col) FROM (VALUES (NULL), (true), (false)) AS tab(col);true> SELECT some(col) FROM (VALUES (false), (false), (NULL)) AS tab(col);false
BOOL_OR(<col> boolean)
> SELECT BOOL_OR(col) FROM (VALUES (true), (false), (false)) AS tab(col);true> SELECT BOOL_OR(col) FROM (VALUES (NULL), (true), (false)) AS tab(col);true> SELECT BOOL_OR(col) FROM (VALUES (false), (false), (NULL)) AS tab(col);false
BIT_AND(<col> integer|bigint)
> SELECT bit_and(col) FROM (VALUES (3), (5)) AS tab(col);1
BIT_OR(<col> integer|bigint)
> SELECT bit_or(col) FROM (VALUES (3), (5)) AS tab(col);7
BIT_XOR(<col> integer|bigint)
> SELECT bit_xor(col) FROM (VALUES (3), (5)) AS tab(col);6
ARG_MIN(<col1>, <col2> | expr(col2))
> SELECT arg_min(dt, uid) from values (1, 'm1'), (2, 't2'), (3, 'z3') as tab(dt, uid);m1> SELECT arg_min(dt, upper(uid)) from values (1, 'm1', 1), (2, 't2', 1), (3, 'z3', 2) as tab(dt, uid, gid) group by gid;M1Z3
ARG_MAX(<col1>, <col2> | expr(col2))
> SELECT arg_max(dt, uid) from values (1, 'm1'), (2, 't2'), (3, 'z3') as tab(dt, uid);z3> SELECT arg_max(dt, upper(uid)) from values (1, 'm1', 1), (2, 't2', 1), (3, 'z3', 2) as tab(dt, uid, gid) group by gid;T2Z3
MAP_UNION_SUM(map<k, v> input)
> SELECT map_union_sum(ids) from values (map(1, 1)), (map(1,2)), (map(2,1)) as tab(ids);{1:3,2:1}> SELECT idx, map_union_sum(ids) from values (map(1, 1), 1), (map(1,2), 1), (map(2,1), 1) as tab(ids, idx) group by idx;1 {1:3,2:1}
文档反馈