2012-12-31 41 views
-1

我有一個數據庫表名爲APPLICATION有寫會顯示所創建的應用程序數量的查詢,我需要以下列獲取每個月份創建的行數超過一年

applicationnumber varchar, 
createddate datetime, 
applicantname varchar, 
material varchar, 
location varchar 

每個月的位置

EG。查詢結果應該如下所示

Location | Jan2012 | Feb2012 | Mar2012 | Apr2012 
----------------------------------------------------------------- 
London | 34322342 | 4342424 | 54353454 | 5434 
Chicago| 43242345 | 9943455 | 85748294 | 544 

結果是每個月爲特定位置創建的應用程序的數量。

每列將執行相同的查詢邏輯,只用了一個月變化。 我嘗試使用MONTH()函數,但我需要月矩陣作爲列而不是行。

+0

什麼是34322342 ...數字 –

+2

您需要類似數據透視表的東西http://en.wikibooks.org/wiki/MySQL/Pivot_table – piotrekkr

回答

0

您可以在createddate字段使用DATE_FORMAT函數僅獲取月份和年份,然後獲取GROUP BY位置。像這樣的東西應該這樣做:

SELECT 
    `location`, 
    COUNT(`applicationnumber`), 
    DATE_FORMAT(`createddate`, '%M %Y') AS `date` 
FROM `APPLICATION` 
GROUP BY `location`; 

應該給出每月行數的結果。

+0

真的非常感謝您的快速響應。 提到的查詢返回列如位置,計數,月份和值倫敦,92,2012年1月倫敦,67,2012年12月芝加哥,54,2013年1月。 ,2012年2月倫敦值,932,432 芝加哥,432,0 –