You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-27 08:21:15 +03:00
54 lines
3.0 KiB
Plaintext
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;
|