2014-09-23 32 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;