我想要找到两列总和的平均值。我想要计算col1和col2的总和,然后找到它们出现在多少不同行中的平均值。
我已经设法在这个sqlfiddle(也可以看下面)中提出了一个解决方案,这是最好的方法吗?我最初认为我需要使用avg函数,但我无法使用它来解决问题。
我已经设法在这个sqlfiddle(也可以看下面)中提出了一个解决方案,这是最好的方法吗?我最初认为我需要使用avg函数,但我无法使用它来解决问题。
CREATE TABLE test (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
uid INT,
col1 INT,
col2 INT
) DEFAULT CHARACTER SET utf8 ENGINE=InnoDB;
INSERT INTO test (id, uid, col1, col2) VALUES
(1,5,8,12),
(2,1,2,3),
(3,1,2,33),
(4,5,25,50),
(5,5,22,3);
(
SELECT ((sum(col1) + sum(col2))/count(*))
FROM test
WHERE uid=5
)
avg(1,2,3) + avg(1,2,3) == 4,但avg(1,2,3,3,2,1) == 2 == avg(avg(1,2,3),avg(1,2,3)) == (avg(1,2,3) + avg(1,2,3)) / 2
。 - Ben