54 lines
1.1 KiB
SQL
54 lines
1.1 KiB
SQL
# name: test/sql/aggregate/quantile_fun.test
|
|
# description: Test pg_sequence function
|
|
# group: [aggregate]
|
|
|
|
require tpch
|
|
|
|
# scalar quantiles
|
|
statement ok
|
|
create table quantiles as select range r, random() FROM range(100) union all values (NULL, 0.1), (NULL, 0.5), (NULL, 0.9) order by 2;
|
|
|
|
statement ok
|
|
CALL dbgen(sf=0.001);
|
|
|
|
statement ok
|
|
PRAGMA verify_external;
|
|
|
|
statement ok
|
|
SELECT quantile_disc(0.1::decimal(4,1), [0.1, 0.5, 0.9]);
|
|
|
|
statement ok
|
|
SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY "l_extendedprice") FROM lineitem;
|
|
|
|
statement ok
|
|
SET default_null_order='nulls_first';
|
|
|
|
foreach type decimal(4,1) decimal(8,1) decimal(12,1) decimal(18,1) decimal(24,1)
|
|
|
|
query I
|
|
SELECT quantile_disc(r::${type}, 0.1) FROM quantiles
|
|
----
|
|
9.0
|
|
|
|
query I
|
|
SELECT quantile_disc(r::${type}, [0.1, 0.5, 0.9]) FROM quantiles
|
|
----
|
|
[9.0, 49.0, 89.0]
|
|
|
|
query I
|
|
SELECT quantile_cont(r::${type}, 0.15) FROM quantiles
|
|
----
|
|
14.8
|
|
|
|
query I
|
|
SELECT quantile_cont(r::${type}, [0.15, 0.5, 0.9]) FROM quantiles
|
|
----
|
|
[14.8, 49.5, 89.1]
|
|
|
|
endloop
|
|
|
|
statement error
|
|
SELECT quantile_cont(NULL, CAST(NULL AS DOUBLE[]))
|
|
----
|
|
not be NULL
|