php - 将多行数据合并为一行

标签 php mysql

我有一个表(MySQL),它存储用户的利用率。现在,我想做的是获取每个用户每天的总利用率。我可以获取每个用户的数据,但是,我发现合并一天多行的数据确实很困难。

现在,我得到的数据如下:

id       date                        download    upload  
1        2015-10-28 08:05:10         1           5
2        2015-10-28 10:25:15         2           5
3        2015-10-28 11:25:10         3           4
4        2015-10-29 11:25:10         8           5
5        2015-10-29 11:25:10         2           7
6        2015-10-29 11:25:10         1           3
7        2015-10-30 11:25:10         11          10
8        2015-10-30 11:25:10         4           5
9        2015-10-30 11:25:10         5           1
10       2015-10-30 11:25:10         10          1

但我希望它看起来像:

    id       date                        download    upload  
    1        2015-10-28                  6           14
    4        2015-10-29                  11          15
    7        2015-10-30                  30          17

最佳答案

您可以使用以下查询:

SELECT MIN(id) AS id, DATE(`date`) AS 'date', 
       SUM(download) AS download, SUM(upload) AS upload
FROM mytable
GROUP BY DATE(`date`) 

查询使用 DATE函数以便从 date 字段中提取日期值。

Demo here

关于php - 将多行数据合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39423645/

相关文章:

mysql - Wordpress 站点——连接到数据库时出错——仅在高流量时

php - 按名称获取值 XML feed - PHP

php - MySQL自连接表

php - Zend DB 和编码

php - 将 SQL 数据库中的约束提取到 PHP 中的 JSON

php - 如何将此sql查询写入laravel eloquent?

php - WordPress 骨架、VVV、多站点和正确的 Nginx 规则

PHP mail() BCC - 仅显示 To : header 中的最终收件人地址

MySQL连接重用问题

mysql - 这个关系代数语句有什么作用? (转换为SQL查询)