1create table t1 ( 2 pk int primary key, 3 a int, 4 b int, 5 c real 6); 7 8 9insert into t1 values 10(101 , 0, 10, 1.1), 11(102 , 0, 10, 2.1), 12(103 , 1, 10, 3.1), 13(104 , 1, 10, 4.1), 14(108 , 2, 10, 5.1), 15(105 , 2, 20, 6.1), 16(106 , 2, 20, 7.1), 17(107 , 2, 20, 8.15), 18(109 , 4, 20, 9.15), 19(110 , 4, 20, 10.15), 20(111 , 5, NULL, 11.15), 21(112 , 5, 1, 12.25), 22(113 , 5, NULL, 13.35), 23(114 , 5, NULL, 14.50), 24(115 , 5, NULL, 15.65), 25(116 , 6, 1, NULL), 26(117 , 6, 1, 10), 27(118 , 6, 1, 1.1), 28(119 , 6, 1, NULL), 29(120 , 6, 1, NULL), 30(121 , 6, 1, NULL), 31(122 , 6, 1, 2.2), 32(123 , 6, 1, 20.1), 33(124 , 6, 1, -10.4), 34(125 , 6, 1, NULL), 35(126 , 6, 1, NULL), 36(127 , 6, 1, NULL); 37 38 39--sorted_result 40select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) 41from t1; 42 43--sorted_result 44select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) 45from t1; 46 47drop table t1; 48