2012-05-23 86 views
0

我有一個files表具有這些屬性:獲得總下載帶寬從文件大小和總下載供應計數

f_id, s_id, u_id, name, size, downloads, uploaded 

我想我的用戶帳戶頁面顯示在用戶上傳服務的總帶寬。爲此,我需要將每個用戶的大小上傳,然後通過下載*,然後將所有結果相加。

本來我得到的用戶總文件大小,然後*總下載量,但顯然這不是準確的。以下是我的查詢的一個示例:

$sql = 'SELECT SUM(downloads) 
     AS downloads 
     FROM `files` 
     WHERE u_id = (SELECT u_id FROM `users` WHERE username = ? LIMIT 1) 
     LIMIT 1'; 

我該怎麼做?謝謝。

回答

1
SELECT SUM(size*downloads) AS bandwidth 
FROM files f 
    JOIN users u 
     ON f.u_id = u.u_id 
WHERE u.username = ? 
GROUP BY u.u_id 

這將爲您提供一個號碼代表由用戶上傳的內容產生

+0

感謝帶寬,工作的享受。 –