获取一年内每个月创建的行数

时间:2012-12-31 11:09:32

标签: mysql

我有一个名为APPLICATION的db表,其中包含以下列

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()函数,但我需要将月份矩阵作为列而不是行。

1 个答案:

答案 0 :(得分:0)

您可以使用createddate字段中的DATE_FORMAT功能仅获取月份和年份,然后获取GROUP BY位置。这样的事情应该这样做:

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

应该给出每月行数的结果。