3

我的表格显示了各个国家/地区进行的搜索量和进行日期,我想要一个查询来显示 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());
4

2 回答 2

8

只需使用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`)
于 2013-11-01T09:26:31.633 回答
2
SELECT COUNT(*) as `count`,
      `region`, 
       MONTH(`date`),
       YEAR(`date`)
FROM my_stores.stats 
GROUP BY `region`, MONTH(`date`), YEAR(`date`);
于 2013-11-01T09:26:23.037 回答