本文介绍了如何在单行中选择多列的AVG的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何选择多列的平均值?

How can I select average of multiple columns?

假设我有一些数据,例如:

Suppose I have some data like:

X   Y    Z
-------------
6   3    3
5   5    NULL
4   5    6
11  7    8

我想得到类似的东西

AVG
-------------
4
5
5
8.66666667

我尝试了select avg(x, y, z) from table

但是它不起作用.

有关查询的任何想法吗?

Any ideas on a query to do that?

推荐答案

尝试

 Select     (Coalesce(x,0) + Coalesce(y,0) + Coalesce(z,0)) /
       (Coalesce(x/x, 0) + Coalesce(y/y, 0) + Coalesce(z/z, 0))

 Select (Coalesce(x,0) + Coalesce(y,0) + Coalesce(z,0)) /
         (Case When x Is Null 0 Else 1 End +
          Case When y Is Null 0 Else 1 End +
          Case When z Is Null 0 Else 1 End)

这篇关于如何在单行中选择多列的AVG的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 22:48