File: median.test

package info (click to toggle)
duckdb 1.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 299,196 kB
  • sloc: cpp: 865,414; ansic: 57,292; python: 18,871; sql: 12,663; lisp: 11,751; yacc: 7,412; lex: 1,682; sh: 747; makefile: 558
file content (44 lines) | stat: -rw-r--r-- 783 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# name: test/sql/function/list/aggregates/median.test
# description: Test the list_median aggregate function
# group: [aggregates]

# types

foreach type integer float double smallint bigint hugeint decimal(10,2)

statement ok
CREATE TABLE quantile AS SELECT LIST(r::${type}) AS r FROM range(10000) t1(r);

query I
SELECT list_median(r) FROM quantile
----
4999.5

statement ok
DROP TABLE quantile

endloop

statement ok
CREATE TABLE quantile AS SELECT LIST(r::tinyint) AS r FROM range(100) t1(r);

query I
SELECT list_median(r) FROM quantile
----
49.500000

# scalar quantiles

statement ok
CREATE TABLE range AS SELECT LIST(1) AS i FROM range(2000) t1(i)

statement ok
INSERT INTO range VALUES (NULL), ([]), ([NULL]);

query I
SELECT list_median(i) FROM range
----
1
NULL
NULL
NULL