首页 > 解决方案 > 使用时间戳字段按天分组

问题描述

我的表架构如下所示:

+--------------------+--------------+------+-----+-------------------+-----------------------------+
| Field              | Type         | Null | Key | Default           | Extra                       |
+--------------------+--------------+------+-----+-------------------+-----------------------------+
| id                 | int(11)      | NO   | PRI | NULL              | auto_increment              |
| name               | varchar(50   | NO   |     | 0                 |                             |
| modified           | timestamp    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| created            | timestamp    | NO   |     | CURRENT_TIMESTAMP |                             |
+--------------------+--------------+------+-----+-------------------+-----------------------------+

我想按天修改的名称数量来计算名称和分组,目前我只能按包含时间戳的完整日期分组,例如:

SELECT name, count(*) FROM mytable GROUP BY modified

提前致谢。

标签: mysql

解决方案


使用 MySQLDATE()函数从时间戳中提取日期:

SELECT name, count(*) FROM mytable GROUP BY DATE(mytable.modified);

DATE()函数从日期或日期时间表达式中提取日期值。


推荐阅读