我的表格显示了各个国家/地区进行的搜索量以及进行搜索的日期,我想要一个查询来向我显示2012年和2013年每个月的搜索量,我需要为月份添加单独的列,年份和搜索次数。我以前使用过下面的查询,该查询返回每周进行的搜索量,但我想将其更改为仅2012和2013年每月进行的搜索。
SELECT COUNT(*) as `count`, `region`, DATE(NOW()) as `week_ending` FROM my_stores.stats WHERE `date` > DATE_ADD(DATE(NOW()), INTERVAL -1 WEEK) AND `date` < DATE(NOW()) GROUP BY `region`, DATE(NOW());
只需使用MONTH()和YEAR()函数
SELECT COUNT(*) as `count`, `region`, YEAR(`date`) as `year`, MONTH(`date`) as `month` FROM my_stores.stats WHERE YEAR(`date`) in (2012,2013) GROUP BY `region`, YEAR(`date`),MONTH(`date`)