我在mysql中有以下查询:
SELECT title,
added_on
FROM title 结果如下:
Somos Tão Jovens 2013-10-10 16:54:10
Moulin Rouge - Amor em Vermelho 2013-10-10 16:55:03
Rocky Horror Picture Show (Legendado) 2013-10-10 16:58:30
The X-Files: I Want to Believe 2013-10-10 22:39:11我希望每个月都能得到标题的计数,结果如下:
Count Month
42 2013-10-01
20 3013-09-01我能想到的最接近的方法是:
SELECT Count(*),
Date(timestamp)
FROM title
GROUP BY Date(timestamp) 但这只是按日分组,而不是按月分组。我要怎么按月分组呢?
发布于 2014-01-07 03:46:32
你能试试这个吗?
select count(*), DATE_FORMAT(timestamp, "%Y-%m-01")
from title
group by DATE_FORMAT(timestamp, "%Y-%m-01")请注意,MONTH()不能按以下方式区分“2013-01-01”和“2014-01-01”。
mysql> SELECT MONTH('2013-01-01'), MONTH('2014-01-01');
+---------------------+---------------------+
| MONTH('2013-01-01') | MONTH('2014-01-01') |
+---------------------+---------------------+
| 1 | 1 |
+---------------------+---------------------+发布于 2014-01-07 03:44:22
SELECT Count(*),
Date(timestamp)
FROM title
GROUP BY Month(timestamp) 编辑:显然,如果在结果中显示一个月的第一天很重要,那么您可以执行其他一些答案中提到的DATE_FORMAT(timestamp, "%Y-%m-01")操作:)
发布于 2019-07-18 22:20:31
最好的办法是按年份,然后按月分组。见下文
SELECT Count(*), Date(timestamp) FROM title GROUP BY YEAR(timestamp), Month(timestamp) https://stackoverflow.com/questions/20963503
复制相似问题