152 lines
3.3 KiB
SQL
152 lines
3.3 KiB
SQL
# name: test/sql/aggregate/aggregates/test_stddev.test
|
|
# description: STDDEV aggregations
|
|
# group: [aggregates]
|
|
|
|
statement ok
|
|
create table stddev_test(val integer, grp integer)
|
|
|
|
statement ok
|
|
insert into stddev_test values (42, 1), (43, 1), (42, 2), (1000, 2), (NULL, 1), (NULL, 3)
|
|
|
|
query I
|
|
SELECT stddev_samp(1)
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT var_samp(1)
|
|
----
|
|
NULL
|
|
|
|
# stddev_samp
|
|
query R
|
|
select round(stddev_samp(val), 1) from stddev_test
|
|
----
|
|
478.800000
|
|
|
|
query R
|
|
select round(stddev_samp(val), 1) from stddev_test where val is not null
|
|
----
|
|
478.800000
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(stddev_samp(val), 1), min(val) from stddev_test group by grp order by grp
|
|
----
|
|
1 85.000000 0.700000 42
|
|
2 1042.000000 677.400000 42
|
|
3 NULL NULL NULL
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(stddev_samp(val), 1), min(val) from stddev_test where val is not null group by grp order by grp
|
|
----
|
|
1 85.000000 0.700000 42
|
|
2 1042.000000 677.400000 42
|
|
|
|
# stddev_pop
|
|
query R
|
|
select round(stddev_pop(val), 1) from stddev_test
|
|
----
|
|
414.700000
|
|
|
|
query R
|
|
select round(stddev_pop(val), 1) from stddev_test where val is not null
|
|
----
|
|
414.700000
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(stddev_pop(val), 1), min(val) from stddev_test group by grp order by grp
|
|
----
|
|
1 85.000000 0.500000 42
|
|
2 1042.000000 479.000000 42
|
|
3 NULL NULL NULL
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(stddev_pop(val), 1), min(val) from stddev_test where val is not null group by grp order by grp
|
|
----
|
|
1 85.000000 0.500000 42
|
|
2 1042.000000 479.000000 42
|
|
|
|
# var_samp
|
|
query R
|
|
select round(var_samp(val), 1) from stddev_test
|
|
----
|
|
229281.600000
|
|
|
|
query R
|
|
select round(variance(val), 1) from stddev_test
|
|
----
|
|
229281.600000
|
|
|
|
query R
|
|
select round(var_samp(val), 1) from stddev_test where val is not null
|
|
----
|
|
229281.600000
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(var_samp(val), 1), min(val) from stddev_test group by grp order by grp
|
|
----
|
|
1 85.000000 0.500000 42
|
|
2 1042.000000 458882.000000 42
|
|
3 NULL NULL NULL
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(var_samp(val), 1), min(val) from stddev_test where val is not null group by grp order by grp
|
|
----
|
|
1 85.000000 0.500000 42
|
|
2 1042.000000 458882.000000 42
|
|
|
|
# var_pop
|
|
query R
|
|
select round(var_pop(val), 1) from stddev_test
|
|
----
|
|
171961.200000
|
|
|
|
query R
|
|
select round(var_pop(val), 1) from stddev_test where val is not null
|
|
----
|
|
171961.200000
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(var_pop(val), 2), min(val) from stddev_test group by grp order by grp
|
|
----
|
|
1 85.000000 0.250000 42
|
|
2 1042.000000 229441.000000 42
|
|
3 NULL NULL NULL
|
|
|
|
query IRRI
|
|
select grp, sum(val), round(var_pop(val), 2), min(val) from stddev_test where val is not null group by grp order by grp
|
|
----
|
|
1 85.000000 0.250000 42
|
|
2 1042.000000 229441.000000 42
|
|
|
|
statement ok
|
|
create table stddev_test_alias(val integer, grp integer)
|
|
|
|
statement ok
|
|
insert into stddev_test_alias values (42, 1), (43, 1), (42, 2), (1000, 2), (NULL, 1), (NULL, 3)
|
|
|
|
# stddev_samp
|
|
query R
|
|
select round(stddev(val), 1) from stddev_test_alias
|
|
----
|
|
478.800000
|
|
|
|
query I
|
|
select stddev(0) from range(10)
|
|
----
|
|
0
|
|
|
|
statement error
|
|
select stddev(a) from (values (1e301), (-1e301)) tbl(a)
|
|
----
|
|
Out of Range Error: STDDEV_SAMP is out of range
|
|
|
|
statement error
|
|
select var_samp(a) from (values (1e301), (-1e301)) tbl(a)
|
|
----
|
|
Out of Range Error: VARSAMP is out of range
|
|
|
|
statement error
|
|
select var_pop(a) from (values (1e301), (-1e301)) tbl(a)
|
|
----
|
|
Out of Range Error: VARPOP is out of range |