php - 从文件大小和总下载计数获取总下载带宽

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

我该怎么做?谢谢。

最佳答案

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/

相关文章:

php - 当表中的tr为空时改变颜色

php - 上传图片错误不隐藏即使我上传图片

javascript - 带有 codeigniter 3 的图表栏

php - 从 Laravel 的 Blade View 导出 Excel

php echo 不打印数据

php - 通过PHP向SQL表插入数据,并创建插入的数据与SQL表中其他字段的关系

mysql - Visual Basic 从 mysql 表中获取数据

php - Laravel:如何检查用户是否是管理员?

mysql - SQL:将多行转换为同一行中的列

codeigniter - 如何关闭新的 codeigniter 4 错误报告