mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 18:36:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| create table t1 (
 | |
| pk int primary key,
 | |
| a int,
 | |
| b int,
 | |
| c real
 | |
| );
 | |
| insert into t1 values
 | |
| (101 , 0, 10, 1.1),
 | |
| (102 , 0, 10, 2.1),
 | |
| (103 , 1, 10, 3.1),
 | |
| (104 , 1, 10, 4.1),
 | |
| (108 , 2, 10, 5.1),
 | |
| (105 , 2, 20, 6.1),
 | |
| (106 , 2, 20, 7.1),
 | |
| (107 , 2, 20, 8.15),
 | |
| (109 , 4, 20, 9.15),
 | |
| (110 , 4, 20, 10.15),
 | |
| (111 , 5, NULL, 11.15),
 | |
| (112 , 5, 1, 12.25),
 | |
| (113 , 5, NULL, 13.35),
 | |
| (114 , 5, NULL, 14.50),
 | |
| (115 , 5, NULL, 15.65),
 | |
| (116 , 6, 1, NULL),
 | |
| (117 , 6, 1, 10),
 | |
| (118 , 6, 1, 1.1),
 | |
| (119 , 6, 1, NULL),
 | |
| (120 , 6, 1, NULL),
 | |
| (121 , 6, 1, NULL),
 | |
| (122 , 6, 1, 2.2),
 | |
| (123 , 6, 1, 20.1),
 | |
| (124 , 6, 1, -10.4),
 | |
| (125 , 6, 1, NULL),
 | |
| (126 , 6, 1, NULL),
 | |
| (127 , 6, 1, NULL);
 | |
| select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as avg
 | |
| from t1;
 | |
| pk	a	b	avg
 | |
| 101	0	10	10.0000
 | |
| 102	0	10	10.0000
 | |
| 103	1	10	10.0000
 | |
| 104	1	10	10.0000
 | |
| 105	2	20	20.0000
 | |
| 106	2	20	20.0000
 | |
| 107	2	20	16.6667
 | |
| 108	2	10	15.0000
 | |
| 109	4	20	20.0000
 | |
| 110	4	20	20.0000
 | |
| 111	5	NULL	1.0000
 | |
| 112	5	1	1.0000
 | |
| 113	5	NULL	1.0000
 | |
| 114	5	NULL	NULL
 | |
| 115	5	NULL	NULL
 | |
| 116	6	1	1.0000
 | |
| 117	6	1	1.0000
 | |
| 118	6	1	1.0000
 | |
| 119	6	1	1.0000
 | |
| 120	6	1	1.0000
 | |
| 121	6	1	1.0000
 | |
| 122	6	1	1.0000
 | |
| 123	6	1	1.0000
 | |
| 124	6	1	1.0000
 | |
| 125	6	1	1.0000
 | |
| 126	6	1	1.0000
 | |
| 127	6	1	1.0000
 | |
| select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as avg
 | |
| from t1;
 | |
| pk	a	c	avg
 | |
| 101	0	1.1	1.6
 | |
| 102	0	2.1	1.6
 | |
| 103	1	3.1	3.5999999999999996
 | |
| 104	1	4.1	3.5999999999999996
 | |
| 105	2	6.1	6.6
 | |
| 106	2	7.1	7.116666666666667
 | |
| 107	2	8.15	6.783333333333334
 | |
| 108	2	5.1	6.625000000000001
 | |
| 109	4	9.15	9.65
 | |
| 110	4	10.15	9.65
 | |
| 111	5	11.15	11.7
 | |
| 112	5	12.25	12.25
 | |
| 113	5	13.35	13.366666666666667
 | |
| 114	5	14.5	14.5
 | |
| 115	5	15.65	15.075
 | |
| 116	6	NULL	10
 | |
| 117	6	10	5.55
 | |
| 118	6	1.1	5.55
 | |
| 119	6	NULL	1.0999999999999996
 | |
| 120	6	NULL	NULL
 | |
| 121	6	NULL	2.1999999999999997
 | |
| 122	6	2.2	11.15
 | |
| 123	6	20.1	3.966666666666667
 | |
| 124	6	-10.4	4.85
 | |
| 125	6	NULL	-10.400000000000002
 | |
| 126	6	NULL	NULL
 | |
| 127	6	NULL	NULL
 | |
| drop table t1;
 | 
