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
128 lines
2.5 KiB
Plaintext
128 lines
2.5 KiB
Plaintext
DROP DATABASE IF EXISTS mcs151_db;
|
|
CREATE DATABASE mcs151_db;
|
|
USE mcs151_db;
|
|
CREATE TABLE t1 (a CHAR(1), b INT)ENGINE=Columnstore;
|
|
INSERT INTO t1 VALUES ('', NULL),('a', 123),('a', 1),('b', 123),('c', 1861),('c', 1991),('d', 10701),('d', 1071),('a', 92);
|
|
SELECT a, b, AVG(b) OVER(ORDER BY a) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 92 72.0000
|
|
a 1 72.0000
|
|
a 123 72.0000
|
|
b 123 84.7500
|
|
c 1991 698.5000
|
|
c 1861 698.5000
|
|
d 1071 1995.3750
|
|
d 10701 1995.3750
|
|
SELECT a, b, AVG(b) OVER(ORDER BY b DESC) avg FROM t1;
|
|
a b avg
|
|
d 10701 10701.0000
|
|
c 1991 6346.0000
|
|
c 1861 4851.0000
|
|
d 1071 3906.0000
|
|
a 123 2645.0000
|
|
b 123 2645.0000
|
|
a 92 2280.2857
|
|
a 1 1995.3750
|
|
NULL NULL 1995.3750
|
|
SELECT a, b, AVG(b) OVER w avg FROM t1 WINDOW w AS (ORDER BY a DESC);
|
|
a b avg
|
|
d 10701 5886.0000
|
|
d 1071 5886.0000
|
|
c 1861 3906.0000
|
|
c 1991 3906.0000
|
|
b 123 3149.4000
|
|
a 92 1995.3750
|
|
a 123 1995.3750
|
|
a 1 1995.3750
|
|
NULL NULL 1995.3750
|
|
SELECT a, b, AVG(b) OVER w avg FROM t1 WINDOW w AS (ORDER BY b);
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 1 1.0000
|
|
a 92 46.5000
|
|
b 123 84.7500
|
|
a 123 84.7500
|
|
d 1071 282.0000
|
|
c 1861 545.1667
|
|
c 1991 751.7143
|
|
d 10701 1995.3750
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY a) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 92 72.0000
|
|
a 1 72.0000
|
|
a 123 72.0000
|
|
b 123 123.0000
|
|
c 1991 1926.0000
|
|
c 1861 1926.0000
|
|
d 1071 5886.0000
|
|
d 10701 5886.0000
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY b) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 1 1.0000
|
|
a 92 92.0000
|
|
b 123 123.0000
|
|
a 123 123.0000
|
|
d 1071 1071.0000
|
|
c 1861 1861.0000
|
|
c 1991 1991.0000
|
|
d 10701 10701.0000
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY a DESC) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 92 72.0000
|
|
a 1 72.0000
|
|
a 123 72.0000
|
|
b 123 123.0000
|
|
c 1991 1926.0000
|
|
c 1861 1926.0000
|
|
d 1071 5886.0000
|
|
d 10701 5886.0000
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b DESC) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 123 123.0000
|
|
a 92 107.5000
|
|
a 1 72.0000
|
|
b 123 123.0000
|
|
c 1991 1991.0000
|
|
c 1861 1926.0000
|
|
d 10701 10701.0000
|
|
d 1071 5886.0000
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ASC) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 1 1.0000
|
|
a 92 46.5000
|
|
a 123 72.0000
|
|
b 123 123.0000
|
|
c 1861 1861.0000
|
|
c 1991 1926.0000
|
|
d 1071 1071.0000
|
|
d 10701 5886.0000
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY a DESC) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 1 1.0000
|
|
a 92 92.0000
|
|
b 123 123.0000
|
|
a 123 123.0000
|
|
d 1071 1071.0000
|
|
c 1861 1861.0000
|
|
c 1991 1991.0000
|
|
d 10701 10701.0000
|
|
SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b DESC) avg FROM t1;
|
|
a b avg
|
|
NULL NULL NULL
|
|
a 1 1.0000
|
|
a 92 92.0000
|
|
b 123 123.0000
|
|
a 123 123.0000
|
|
d 1071 1071.0000
|
|
c 1861 1861.0000
|
|
c 1991 1991.0000
|
|
d 10701 10701.0000
|
|
DROP DATABASE mcs151_db;
|