在一位成员的帮助下,我已经能够将MySQL查询调用的数组的值加在一起。但是,我的代码是将所有值相加。
$top_1st = mysql_fetch_array(mysql_query("SELECT SUM(1ET)/10 AS top_1st
FROM scoring_data WHERE Competition='$competition' AND Club='$row[Club]'
AND Team='$row[Team]' ORDER BY 1ET DESC LIMIT 0, 3"));
echo $top_1st[0] ;
我用过
LIMIT 0, 3
因为我只想从返回的查询中添加最高3个值,但这似乎不起作用。
如果有简单的解决方案,请道歉;新手技能真的受到了考验!
修改
来自@ marc-b的建议(谢谢)让我想到了这一点,但它给了一个空白的回报。
$top_1st = mysql_fetch_array(mysql_query("
SELECT SUM(1ET)/10
FROM (
SELECT 1ET AS top_1st FROM scoring_data WHERE Competition='$competition' AND
Club='$row[Club]' AND Team='$row[Team]' ORDER BY 1ET DESC LIMIT 0, 3 ) "));
echo $top_1st[0] ;
答案 0 :(得分:1)
您需要先获得前3个值,然后在另一个查询中求和,例如
SELECT SUM(foo)
FROM (
SELECT whatever AS foo
FROM ...
LIMIT 3
)
必须在内部查询中应用限制。否则你将总结为一行,然后无论如何都会落在3行限制范围内。