怎样查得表中前六个记录的平均值?

如题。用SQL语句能实现吗?
---------------------------------------------------------------

select avg(fld) from
(select fld from tbl where rownum < 7 ) a
---------------------------------------------------------------

select avg(colname) from tbname where rownum<7;
---------------------------------------------------------------

SQL> select * from aa;

ID BB
---------- ----------
1
2
3

SQL> select avg(id) over(order by rownum rows 2 PRECEDING) from aa;

AVG(ID)OVER(ORDERBYROWNUMROWS2
------------------------------
1
1.5
2

select avg(sal) over(order by rownum rows 5 preceding) from tabname;
---------------------------------------------------------------

那么我怎样将表中每六个记录做一个平均,直到最后,可以解决吗?

一条语句可能没有办法实现,要实现只能使用游标了。

---------------------------------------------------------------

游标中累加,读到6个求一次和。
游标结束在求一次和

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus