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;
Messung V0.5 in Prozent C=95 H=100 G=97
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-08)
¤
*© Formatika GbR, Deutschland