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
47 lines
2.9 KiB
Plaintext
47 lines
2.9 KiB
Plaintext
#
|
|
# Test STDDEV() Window Frame
|
|
# Author: Bharath, bharath.bokka@mariadb.com
|
|
#
|
|
-- source ../include/have_columnstore.inc
|
|
|
|
--disable_warnings
|
|
DROP DATABASE IF EXISTS mcs162_db;
|
|
--enable_warnings
|
|
|
|
CREATE DATABASE mcs162_db;
|
|
USE mcs162_db;
|
|
|
|
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
|
|
INSERT INTO t1 VALUES ('', NULL),('a', 12),('a', 13),('b', 14),('c', 15),('d', 16),('d', 17),('b', 18),('a', 19);
|
|
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1;
|
|
|
|
--error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY
|
|
SELECT a, b, STDDEV(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
--error ER_WRONG_TYPE_FOR_RANGE_FRAME
|
|
SELECT a, b, STDDEV(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1;
|
|
|
|
# Clean UP
|
|
DROP DATABASE mcs162_db;
|