Mysql-使用表

时间:2016-11-16 10:32:42

标签: mysql

我有一个要求,我需要生成报告。我使用的数据库是MySql。

我已经在表格中捕获了信息,并且我能够使用

将输出导出到csv文件
             select * into   outfile /dir from <my_table name>

将输出提供给由制表符分隔的表快照。

我想要的是:

             Project Name
             Start Date
             End Date

       |Tracker Status| |Date1|                          |Date2|             |Date3|  

             New        Count of projects with new status  Count            Count

这可以使用mysql查询直接完成,而不使用任何Python等包吗?

我发布了通用输出格式。

我知道我可以用Python做到这一点,但我没有时间做这件事。

由于

更新现在,我遇到了与计数相关的问题。

假设日期created_on =&#39; 2016-7-20&#39;对于特定状态,总计数为10,例如&#39;新&#39;。

在我编写的输出查询中,计数的格式不正确。

有什么方法可以解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

我做到了:

      select @projectname,CONCAT(@start_date,'-',@end_date)
      union
      select 'Tracker_Status',REPLACE(GROUP_CONCAT(CONCAT(date(created_on)) ,'|', date(Date),'|'),',','')
      from finance_dashboard.dashboard_data where status='New' 
      union 
      select 'New', REPLACE(GROUP_CONCAT(CONCAT(Initial_count,'|',count_as_of_date),'|'),',','')
      from finance_dashboard.dashboard_data where status='New'
      union 
      select 'Estimated',REPLACE(GROUP_CONCAT(CONCAT(Initial_count,'|',count_as_of_date),'|'),',','')
      from finance_dashboard.dashboard_data where status='Estimated'

这不是完整的解决方案,但我能够得到结果:

'Cyrcle Connect', '2016-01-01-2016-11-30'
'Tracker_Status', '2016-07-12|2016-01-05|2016-07-12|2016-07-30|2016-07-12|2016-08-10|2016-07-12|2016-11-14|2016-07-12|2016-01-05|2016-07-12|2016-07-30|2016-07-12|2016-08-10|2016-07-12|2016-11-14|'
'New', '57|3|9|3|9|3|3|2|57|3|9|3|9|3|3|2|'
'Estimated', '3|2|9|2|3|2|3|2|3|2|3|2|3|5|9|5|3|5|3|5|3|5|3|5|3|2|9|2|3|2|3|2|3|2|3|2|1|7|3|7|1|7|1|7|1|7|1|7|3|2|9|2|3|2|3|2|3|2|3|2|3|5|9|5|3|5|3|5|3|5|3|5|3|2|9|2|3|2|3|2|3|2|3|2|1|7|3|7|1|7|1|7|1|7|1|7|'