从文件大小和总下载次数中获取总下载带宽

时间:2012-05-23 21:25:51

标签: php mysql codeigniter

我有一个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 个答案:

答案 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

这将为您提供一个数字,表示用户上传产生的带宽