2014-09-23 35 views
-1

我的表中的数据是像下面查询来获取多列和行的平均

id a  b  c  d 
101 2  2  2  2 
101 3  3  3  3 
101 2  2  2  2 
102 5  5  5  5 
102 5  5  5  5 

,我想输出占所有关注的行和列 例如

id  average 
101 2.33 
102 5 
+0

不知道你正在使用,但如果你只盯着一个什么DBMS固定的列数只是使用'(a + b + c + d)/ 4',一个'GROUP BY'和一个'SUM'(抱歉,太快输入)。 – 2014-09-23 17:16:21

+0

使用Avg()聚合函数,并通过您的表的外观使用DISTICT修饰符 – Edward 2014-09-23 17:20:55

回答

1

的ID和平均平均值是项目总数除以它们的计数。关于这两个数学函数的好处是,他们是累积性的,因此:

SELECT id, SUM (a + b + c + d)/(COUNT(*) * 4) -- There are four columns 
FROM  my_table 
GROUP BY id 
3

试试这个:

select id, avg((a+b+c+d)/4) from table_name group by id;