0

我正在运行一个 sql 查询,其中有一些平均值,现在我想要这些平均值的平均值,所以

AVG(q1) as q1,
AVG(q2) as q2,
AVG(q3) as q3,
AVG(q4) as q4,

然后我不知道如何获得所有平均值的平均值,因为我做不到AVG(q1,q2,q3,q4)并且AVG(q1+q2+q3+q4+q5)不会返回所有行和列的总平均值,而只会返回每行的平均值。

4

2 回答 2

3

最简单的方法是手动计算

(AVG(q1) + AVG(q2) ... + AVG(qn))/(n*1.0)
于 2012-05-04T23:21:05.740 回答
1

是的,您可以使用另一个 SELECT 来“重用”这些值

SELECT a.*,(q1+q2+q3+q4)/n as avg_all FROM (
  SELECT AVG(q1) as q1,
         AVG(q2) as q2,
         AVG(q3) as q3,
         AVG(q4) as q4.... ) a
于 2015-02-11T17:22:26.923 回答