我有一个表(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
答案 0 :(得分:1)
您可以使用以下查询:
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
字段中提取日期值。
答案 1 :(得分:0)
你可以试试这个 -
select id, date(`date`) `date`, sum(download) `download`, sum(upload) `upload`
from your_table
group by date(`date`)
order by `date`
它将总结所有下载和&按日期上传分组。
答案 2 :(得分:0)
你需要一个简单的SQL查询喜欢这个:
select max(user_id),op_date,sum(download_count) from test group by op_date;
数据:
1 1 09-SEP-16 2
2 1 09-SEP-16 1
5 1 09-SEP-16 3
4 1 10-SEP-16 2
3 1 10-SEP-16 4
过滤数据:
1 09-SEP-16 6
1 10-SEP-16 6
答案 3 :(得分:0)
按命令分组
select id,`date`,sum(download) as 'download',sum(upload) as 'upload'
from ur_table
group by date(`date`)