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';

我怎样才能做到这一点?谢谢你。

4

1 回答 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

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

于 2012-05-23T21:33:29.037 回答