1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-11-27 08:21:15 +03:00
Files
mariadb-columnstore-engine/mtr/basic/t/mcs132_window_function_percentile_cont.test
mariadb-RomanNavrotskiy 73b4147cf3 move mtr suites here
2021-01-31 01:38:31 +02:00

54 lines
3.0 KiB
Plaintext

#
# Test PERCENTILE_CONT() Window Function
# Author: Bharath, bharath.bokka@mariadb.com
#
-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcs132_db;
--enable_warnings
CREATE DATABASE mcs132_db;
USE mcs132_db;
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('b', 15),('b', 16),('b', 17),('b', 18),('a', 19);
SELECT a, b, PERCENTILE_CONT(1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.61) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.65) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.69) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.7) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY a DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.1) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.5) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.6) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.61) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.65) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.69) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0.7) WITHIN GROUP(ORDER BY b) OVER(PARTITION BY b DESC) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b) pc FROM t1;
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY a) pc FROM t1;
# Expected error ER_ARGUMENT_OUT_OF_RANGE
--error ER_INTERNAL_ERROR
SELECT a, b, PERCENTILE_CONT(-0.9) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pc FROM t1;
# Expected error ER_ARGUMENT_OUT_OF_RANGE
--error ER_INTERNAL_ERROR
SELECT a, b, PERCENTILE_CONT(-1) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pc FROM t1;
# Expected error ER_ARGUMENT_OUT_OF_RANGE
--error ER_INTERNAL_ERROR
SELECT a, b, PERCENTILE_CONT(1.1) WITHIN GROUP(ORDER BY b DESC) OVER(PARTITION BY b DESC) pc FROM t1;
--error ER_WRONG_TYPE_FOR_PERCENTILE_FUNC
SELECT a, b, PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY a DESC) OVER(PARTITION BY a DESC) pc FROM t1;
# Clean UP
DROP DATABASE mcs132_db;