mysql> select count(*),DATE_FORMAT(a.article_time,'%Y') t from article a where DATE_FORMAT(a.article_time,'%Y') > DATE_FORMAT(DATE_SUB(now(),INTERVAL 12 YEAR),'%Y') group by t;
+
| count(*) | t |
+
| 1 | 2015 |
| 54 | 2016 |
+
2 rows in set
例子2:查询一个表,在当前年份的每一个月数据量(如果无数据就不会显示)
mysql> select count(*),DATE_FORMAT(a.article_time,'%Y-%m') t from article a where DATE_FORMAT(a.article_time,'%Y') = DATE_FORMAT(now(),'%Y') group by t;
+
| count(*) | t |
+
| 1 | 2016-07 |
| 22 | 2016-08 |
| 26 | 2016-09 |
| 3 | 2016-10 |
| 1 | 2016-11 |
| 1 | 2016-12 |
+
6 rows in set
例子3:查询某个月的每一天的数据量。(如果没有数据就不会显示)
mysql> select count(*),DATE_FORMAT(a.article_time,'%Y-%m-%d') t from article a where DATE_FORMAT(a.article_time,'%Y-%m') = '2016-09' group by t;