MySQL按月和年过滤结果

时间:2013-11-01 09:19:07

标签: mysql sql database

我的表格显示了各个国家/地区的搜索量以及拍摄日期,我想要一个查询,向我展示2012年和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());

2 个答案:

答案 0 :(得分:6)

只需使用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`)

答案 1 :(得分:2)

SELECT COUNT(*) as `count`,
      `region`, 
       MONTH(`date`),
       YEAR(`date`)
FROM my_stores.stats 
GROUP BY `region`, MONTH(`date`), YEAR(`date`);