2014-02-25 32 views
0

我想查找數據庫中具有特定標識的前5位用戶的總數。如果在列中已經存在5次,則不允許輸入值

爲什麼它會創建所有用戶的總數,而不是限制到前五個? 我如何得到總第5個的用戶與數據庫中的某個ID,剩下的呢?,這裏是我的代碼

$result2 = mysql_query("SELECT SUM(amt) AS value_sum FROM users WHERE r1=$id ORDER BY 
amt DESC LIMIT 5"); 
$row = mysql_fetch_assoc($result2); 
$sum = $row['value_sum']; 
echo $sum; 

回答

0

這工作?

SELECT SUM(amt) FROM (SELECT amt FROM users WHERE r1=$id ORDER BY amt DESC LIMIT 5 

UPDATE:

$result2 = mysql_query("SELECT SUM(amt) AS value_sum FROM (SELECT amt FROM users WHERE r1=".$id." ORDER BY amt DESC LIMIT 5) AS value_sum"); 

更新2:

上面的查詢應該工作,我對我自己的表以類似的方式進行測試,我不知道爲什麼不工作了您。儘管如此,我寫了一個可以幫助你的PHP片段,但它計算了代碼中的總和。

$result2 = mysql_query("SELECT amt FROM users WHERE r1=$id ORDER BY amt DESC LIMIT 5"); 
if (!$result2) { 
    die("error in query"); 
} 
$sum = 0; 
while ($row = mysql_fetch_assoc($result2)) { 
    $sum += $row["amt"]; 
} 
+0

做我插入作爲value_sum後,我關閉與查詢「 因爲我不能縫得到它的權利,請你給我一份有標籤的代碼‘’ – Ree

+0

即時得到錯誤這裏是我的新代碼 $ result2 = mysql_query(「SELECT SUM(amt)AS value_sum FROM users WHERE r1 = $ id ORDER BY users.amt DESC LIMIT 5 AS value_sum」);這裏是錯誤警告:mysql_fetch_assoc()期望參數1是資源,布爾給定在C:\ xampp \ htdocs \ milsoft \ members \ software \ level1 ..... – Ree

+0

檢查我的更新 – 2014-02-25 08:05:05

相關問題