多字段,多条件求平均的sql语句有关问题

多字段,多条件求平均的sql语句问题
现在数据表a只有month,data1,data2,data3字段,目前要对data1,data2,data3不位0的数据分别求平均,然后按month顺序排列。

若是对单个字段,比如data1,就比较简单。

Select   int(avg(data1)),[month] From a where data1<>0 group bu [month]

有没有方法一次性读取数据库把上面的三个数分别求平均,困难之处就是data1,data2,data3存在为0的情况。
------解决方案--------------------
select month,case when data1<>o then avg(data1),case when data2<>0 then avg(data2) end from
------解决方案--------------------
什么数据库?access 数据库的话就用iif语句 ,如果是sql server就用case when …… end
------解决方案--------------------
select month,iif(data1>,avg(data1),0) as avg1,iif(data2>,avg(data2),0) as avg2,iif(data3>,avg(data3),0) avg3 From a where data1>0 or data2>0 or data3>0 group by [month]