2016-11-16 99 views
-1

我有一個需求,我需要生成一個報告。我使用的數據庫是MySql。Mysql-使用表中存儲的數據生成報告輸出

我已經捕獲在一個表中的信息,並使用我

   select * into outfile /dir from <my_table name> 

這使得輸出到製表符分隔錶快照我能夠輸出導出爲CSV文件。

我想擁有的是:

   Project Name 
      Start Date 
      End Date 

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

      New  Count of projects with new status Count   Count 

可以這樣使用MySQL查詢可以直接完成,無需使用Python等的任何包裝?

我已經發布了通用輸出格式。

我知道我可以在Python中做到這一點,但我沒有時間。

感謝

UPDATE現在,我有計數相關的問題。

假設日期created_on ='2016-7-20'對於特定狀態(例如「新」)的總數爲10。

在我寫的輸出查詢中,計數沒有以正確的格式顯示。

有什麼辦法解決這個問題嗎?

感謝

+3

的MySQL(和大多數數據庫)是數據分析工具不是演示工具。如果你想在你的結果集上使用花哨的頭文件,那麼你應該考慮使用諸如Python或PHP之類的東西。 –

+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|'