我有一个具有以下属性的 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';
我该怎么做?谢谢。
最佳答案
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
这将为您提供一个数字,代表用户上传生成的带宽
关于php - 从文件大小和总下载计数获取总下载带宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728083/