簡體   English   中英

僅使用前3個值的數組總數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM