9个字段(A1-A9),每个字段记录按照年月日存放,SQL语句如何实现选取特定条件的数据后,求A1-A9的平均?
9个字段(A1-A9),每个字段记录按照年月日存放,SQL语句如何实现选取特定条件的数据后,求A1-A9的平均?
我用的是选取特定条件后得到的字段B1-B9,用(B1+B2+B3+...+B9)/9来计算。一般情况下很好用,但是如果选出来的某个记录没有数据,用(B1+B2+B3+...+B9)/9来计算平均就无效了。
也不知道说明白没有。比如数据库如下:
年 月 日 A1 A2.....A9
1989 1 1 23 25.....19
1989 1 2 33 15.....29
1989 1 3 13 35.....39
.....................
1990 1 1 33 25.....49
我计算A1,A2,A3 字段 每年的和,SQL语句:
SELECT YEAR,SUM(A1) AS A1,SUM(A2) AS A2,SUM(A3) AS A3,(SUM(A1)+SUM(A2)+SUM(A3))/3 AS 平均 FROM SY.DB WHERE (YEAR>='1989' AND CYEA<='1990') GROUP BY YEAR
一般都得到
年 A1 A2 A3 平均。
如果1989年A1没有数据,则1989年3个字段的平均就求不出来了。这个该如何解决?
SQL中的AVRAGE只是对记录有用。