MySQL - 跨月的事件数

时间:2015-09-23 04:39:06

标签: mysql sql

我有一张表,其中包含发生的事件和他们在MySQL中出现的日期

事件的列名为EVENT_NAME&事件发生在OCCUR_DATE列中。该表有数百个其他列。我想逐月计算每个事件的发生情况。显示输出如下。

+-------+--------+--------+--------+
| Event | Jan-15 | Feb-15 | Mar-15 |
+-------+--------+--------+--------+
| A     |      0 |      1 |      0 |
| B     |      6 |      6 |      3 |
+-------+--------+--------+--------+

我目前正在为每个月手动运行SQL查询&手动使用Excel聚合数据。我可以请求一些帮助来编写SQL来输出所请求的格式吗?

1 个答案:

答案 0 :(得分:0)

你可以试试 -

SELECT event_name, 
COUNT(IF(DATE_FORMAT(CURDATE(),'%b-%y')='Jan-15',1,NULL)) AS 'Jan-15', 
COUNT(IF(DATE_FORMAT(CURDATE(),'%b-%y')='Feb-15',1,NULL)) AS 'Feb-15', 
COUNT(IF(DATE_FORMAT(CURDATE(),'%b-%y')='Sep-15',1,NULL)) AS 'Mar-15' 
FROM mytable 
GROUP BY event_name;