@@ -82,15 +82,15 @@ CREATE TABLE group_median_table (
8282 col_f64 DOUBLE,
8383 col_f64_nan DOUBLE
8484) as VALUES
85- ( " group0" , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 1.1, 1.1, 1.1 ),
86- ( " group0" , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 4.4, 4.4, arrow_cast('NAN','Float64') ),
87- ( " group0" , 100, 100, 100, arrow_cast(100,'Int64'), 100, 100, 100, arrow_cast(100,'UInt64'), 3.3, 3.3, arrow_cast('NAN','Float64') ),
88- ( " group0" , 127, 32767, 2147483647, arrow_cast(9223372036854775807,'Int64'), 255, 65535, 4294967295, 18446744073709551615, 2.2, 2.2, arrow_cast('NAN','Float64') ),
89- ( " group1" , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 1.1, 1.1, 1.1 ),
90- ( " group1" , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 4.4, 4.4, arrow_cast('NAN','Float64') ),
91- ( " group1" , 100, 100, 100, arrow_cast(100,'Int64'), 101, 100, 100, arrow_cast(100,'UInt64'), 3.3, 3.3, arrow_cast('NAN','Float64') ),
92- ( " group1" , 125, 32766, 2147483646, arrow_cast(9223372036854775806,'Int64'), 100, 101, 4294967294, arrow_cast(100,'UInt64'), 3.2, 5.5, arrow_cast('NAN','Float64') ),
93- ( " group1" , 127, 32767, 2147483647, arrow_cast(9223372036854775807,'Int64'), 255, 65535, 4294967295, 18446744073709551615, 2.2, 2.2, arrow_cast('NAN','Float64') )
85+ ( ' group0' , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 1.1, 1.1, 1.1 ),
86+ ( ' group0' , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 4.4, 4.4, 1.1 ),
87+ ( ' group0' , 100, 100, 100, arrow_cast(100,'Int64'), 100, 100, 100, arrow_cast(100,'UInt64'), 3.3, 3.3, arrow_cast('NAN','Float64') ),
88+ ( ' group0' , 127, 32767, 2147483647, arrow_cast(9223372036854775807,'Int64'), 255, 65535, 4294967295, 18446744073709551615, 2.2, 2.2, arrow_cast('NAN','Float64') ),
89+ ( ' group1' , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 1.1, 1.1, 1.1 ),
90+ ( ' group1' , -128, -32768, -2147483648, arrow_cast(-9223372036854775808,'Int64'), 0, 0, 0, arrow_cast(0,'UInt64'), 4.4, 4.4, arrow_cast('NAN','Float64') ),
91+ ( ' group1' , 100, 100, 100, arrow_cast(100,'Int64'), 101, 100, 100, arrow_cast(100,'UInt64'), 3.3, 3.3, arrow_cast('NAN','Float64') ),
92+ ( ' group1' , 125, 32766, 2147483646, arrow_cast(9223372036854775806,'Int64'), 100, 101, 4294967294, arrow_cast(100,'UInt64'), 3.2, 5.5, arrow_cast('NAN','Float64') ),
93+ ( ' group1' , 127, 32767, 2147483647, arrow_cast(9223372036854775807,'Int64'), 255, 65535, 4294967295, 18446744073709551615, 2.2, 2.2, arrow_cast('NAN','Float64') )
9494
9595#######
9696# Error tests
@@ -6111,3 +6111,85 @@ SELECT v1 FROM t1 WHERE ((count(v1) % 1) << 1) > 0;
61116111
61126112statement ok
61136113DROP TABLE t1;
6114+
6115+
6116+ #######
6117+ # Group median test
6118+ #######
6119+
6120+ # group median i8
6121+ query TI rowsort
6122+ SELECT col_group, median(col_i8) FROM group_median_table GROUP BY col_group
6123+ ----
6124+ group0 -14
6125+ group1 100
6126+
6127+ # group median i16
6128+ query TI
6129+ SELECT col_group, median(col_i16) FROM group_median_table GROUP BY col_group
6130+ ----
6131+ group0 -16334
6132+ group1 100
6133+
6134+ # group median i32
6135+ query TI
6136+ SELECT col_group, median(col_i32) FROM group_median_table GROUP BY col_group
6137+ ----
6138+ group0 -1073741774
6139+ group1 100
6140+
6141+ # group median i64
6142+ query TI
6143+ SELECT col_group, median(col_i64) FROM group_median_table GROUP BY col_group
6144+ ----
6145+ group0 -4611686018427387854
6146+ group1 100
6147+
6148+ # group median u8
6149+ query TI rowsort
6150+ SELECT col_group, median(col_u8) FROM group_median_table GROUP BY col_group
6151+ ----
6152+ group0 50
6153+ group1 100
6154+
6155+ # group median u16
6156+ query TI
6157+ SELECT col_group, median(col_u16) FROM group_median_table GROUP BY col_group
6158+ ----
6159+ group0 50
6160+ group1 100
6161+
6162+ # group median u32
6163+ query TI
6164+ SELECT col_group, median(col_u32) FROM group_median_table GROUP BY col_group
6165+ ----
6166+ group0 50
6167+ group1 100
6168+
6169+ # group median u64
6170+ query TI
6171+ SELECT col_group, median(col_u64) FROM group_median_table GROUP BY col_group
6172+ ----
6173+ group0 50
6174+ group1 100
6175+
6176+ # group median f32
6177+ query TR
6178+ SELECT col_group, median(col_f32) FROM group_median_table GROUP BY col_group
6179+ ----
6180+ group0 2.75
6181+ group1 3.2
6182+
6183+ # group median f64
6184+ query TR
6185+ SELECT col_group, median(col_f64) FROM group_median_table GROUP BY col_group
6186+ ----
6187+ group0 2.75
6188+ group1 3.3
6189+
6190+ # group median f64_nan
6191+ query TR
6192+ SELECT col_group, median(col_f64_nan) FROM group_median_table GROUP BY col_group
6193+ ----
6194+ group0 NaN
6195+ group1 NaN
0 commit comments