我有一张表,其中包含发生的事件和他们在MySQL中出现的日期
事件的列名为EVENT_NAME&事件发生在OCCUR_DATE列中。该表有数百个其他列。我想逐月计算每个事件的发生情况。显示输出如下。
+-------+--------+--------+--------+
| Event | Jan-15 | Feb-15 | Mar-15 |
+-------+--------+--------+--------+
| A | 0 | 1 | 0 |
| B | 6 | 6 | 3 |
+-------+--------+--------+--------+
我目前正在为每个月手动运行SQL查询&手动使用Excel聚合数据。我可以请求一些帮助来编写SQL来输出所请求的格式吗?
答案 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;