我试图从一个记录(A)中总结出值,然后将其添加到另一个记录(B)的总和值中,我想知道这是否可行?
ID ValueA ValueB ValueC
1 5 5 5
2 1 2 3
3 6 3 3
所以我在这里尝试的是获取每条记录的ValueA,ValueB和ValueC,将其加起来以便我可以做出平均值。
所以 ID 1,我将15除以3 = 5
ID 2我将有6除以3 = 2
ID 3我将12除以3 = 4
然后我将不得不添加所有这三个 我会得到11 并将其除以3,得到平均值3.67。
我的查询
$result = mysql_query('SELECT * FROM teams WHERE UPPER(team)=UPPER("'.$team.'")');
while($row = mysql_fetch_array($result))
{
$ValueA = $row['ValueA'];
$ValueB = $row['ValueB'];
$ValueC = $row['ValueC'];
$All = $ValueA + $ValueB + $ValueC;
}
我知道如何得到1条记录的总和,但不知道我怎么能用所有3条记录来做。有什么帮助吗?
编辑:抱歉,我忘了补充一点,我必须先对每张唱片做平均值。
答案 0 :(得分:2)
SELECT AVG(valueA + valueB + valueC)
FROM teams
应该做的伎俩。由于您从表中选择了所有记录,因此需要进行分组。
请注意,默认情况下,MySQL对表使用不区分大小写的排序规则,因此可能不需要您的UPPER(team)
业务 - 删除函数调用将允许将索引(如果有)应用于该特定匹配。
答案 1 :(得分:0)
You can将SQL函数加在一起:
SELECT
(sum(ValueA) + sum(ValueB) + sum(ValueC)) / 3 as average
FROM
<your table>
WHERE
<your conditions>
答案 2 :(得分:0)
SELECT SUM(ValueA + ValueB + ValueC) / (SELECT COUNT(*) FROM Teams)
FROM Teams
那就是你想要的平均值。