[英]Total of an array using only top 3 values
在同伴的幫助下,我能夠將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] ;
您需要先獲取前3個值,然后再對另一個查詢求和,例如
SELECT SUM(foo)
FROM (
SELECT whatever AS foo
FROM ...
LIMIT 3
)
該限制必須在內部查詢中應用。 否則,您將匯總到一行,無論如何該行將落在三行限制之內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.