Files
email-tracker/external/duckdb/test/sql/aggregate/aggregates/test_kurtosis.test
2025-10-24 19:21:19 -05:00

105 lines
1.6 KiB
SQL

# name: test/sql/aggregate/aggregates/test_kurtosis.test
# description: Test kurtosis aggregate
# group: [aggregates]
statement ok
PRAGMA enable_verification
#Corner cases
statement error
select kurtosis()
----
query I
select kurtosis(NULL)
----
NULL
query I
select kurtosis(1)
----
NULL
statement error
select kurtosis(*)
----
query I
select kurtosis(i) from (values (0), (0), (0), (0), (0), (0)) tbl(i)
----
NULL
# out of range
statement error
select kurtosis(i) from (values (2e304), (2e305), (2e306), (2e307)) tbl(i)
----
# Constant Value (This should be an error)
query I
select kurtosis(10) from range (5)
----
NULL
#Empty Table
query I
select kurtosis(10) from range (5) where 1 == 0
----
NULL
statement ok
create table aggr(k int, v int, v2 int);
statement ok
insert into aggr values
(1, 10, null),
(2, 10, 11),
(2, 10, 15),
(2, 10, 18),
(2, 20, 22),
(2, 20, 25),
(2, 25, null),
(2, 30, 35),
(2, 30, 40),
(2, 30, 50),
(2, 30, 51);
query III
select kurtosis(k), kurtosis(v), kurtosis(v2) from aggr;
----
11.000000 -1.961428 -1.445120
query III
select kurtosis_pop(k), kurtosis_pop(v), kurtosis_pop(v2) from aggr;
----
6.100000 -1.676857 -1.358688
query I
with onetwo as (select range::float as v from range(1,3)) select kurtosis_pop(v) from onetwo;
----
-2.0
query I
select kurtosis(v2) from aggr group by v ORDER BY ALL;
----
-3.977599
NULL
NULL
NULL
# Window Function
query I rowsort
select kurtosis(v2) over (partition by v)
from aggr;
----
-3.977599
-3.977599
-3.977599
-3.977599
NULL
NULL
NULL
NULL
NULL
NULL
NULL