微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在DATETIME字段按月分组

如何解决在DATETIME字段按月分组

你可以试试这个吗?

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 |
+---------------------+---------------------+

解决方法

我在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)

但这只是按天分组,而不是按月分组。我如何在这里按月分组?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。