我有一个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';
我该怎么做?谢谢。
答案 0 :(得分: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
这将为您提供一个数字,表示用户上传产生的带宽