2013-07-10 41 views
0

我有下面的格式有数据表:MySQL-加入基于列的数据

+---------------------+--------------+-------------------+-------------------+ 
| date    | downloadtime | clientcountrycode | clientcountryname | 
+---------------------+--------------+-------------------+-------------------+ 
| 2013-07-10 10:44:29 |   2 | USA    | United States  | 
| 2013-07-10 10:44:25 |   4 | USA    | United States  | 
| 2013-07-10 10:44:21 |   7 | USA    | United States  | 
| 2013-07-10 10:44:16 |   2 | USA    | United States  | 
| 2013-07-10 10:44:10 |   3 | USA    | United States  | 
+---------------------+--------------+-------------------+-------------------+ 

我需要通过查询该表准备CSV文件。该csv文件应该是以下格式:

clientcountryname,clientcountrycode,2013-07-05,2013-07-06,2013-07-8... 
United States,USA,22,23,24 

所以,基本上我需要得到每个国家每天的平均下载时间。 我有一个查询,这将给我AVG(downloadtime)某一天:

SELECT clientcountryname,clientcountrycode, avg(downloadtime), FROM tb_npp where date(date) = '2013-07-10' group by clientcountrycode; 

+---------------------------------------+-------------------+-------------------+ 
| clientcountryname      | clientcountrycode | avg(downloadtime) | 
+---------------------------------------+-------------------+-------------------+ 
| Anonymous Proxy      | A1    |   118.0833 | 
| Satellite Provider     | A2    |   978.5000 | 
| Aruba         | ABW    |   31.8462 | 

我的问题是:有没有在SQL中组基于这是目前在我的数据库日期列名的方法吗?

回答

1

如果我理解你正确的问题,你就应该能够到组的日期还有:

SELECT clientcountryname,clientcountrycode,Date, avg(downloadtime), 
FROM tb_npp 
GROUP BY clientcountrycode,clientCountryCode,Date; 
+0

感谢,但没有我一直在寻找这样一个完整的外部基于日期列数据加入 –