Mysql datetime、时间戳按月、周、日分组查询

overme3个月前 (10-17)程序开发257
最近入手学习echarts图表插件,想要将mysql数据库中的数据按月分组查询出来。开始,想的方式是,新增一个字段存储月份,然后将该字段查询出来。

但是这种方式,一想都觉得太麻烦了,应该是可以通过时间戳转换为月份吧!网络上搜索了资料,mysql确实支持时间戳按月分组查询数据。

如果时间字段为时间戳(timestamp)或int表示的时间戳(字段是 create_time):

按月查询

SELECT FROM_UNIXTIME(create_time,’%Y%m’) months,COUNT(id) count FROM  inform where smalltype=’12_1′ GROUP BY months
order by count desc

查询效果:

按周查询

SELECT FROM_UNIXTIME(create_time,’%Y%u’) weeks,COUNT(id) count FROM  where smalltype=’12_1′ GROUP BY weeks order by count desc

按天查询

SELECT FROM_UNIXTIME(create_time,’%Y%m%d’) days,COUNT(id) count FROM  where smalltype=’12_1′ GROUP BY days order by count desc

如果时间字段类型为date或datetime,该如何分组查询呢:

按周查询

SELECT DATE_FORMAT(create_time,’%Y%u’) weeks,COUNT(id) count FROM  inform where smalltype =’12_1′ GROUP BY weeks order by count desc

按天查询
SELECT DATE_FORMAT(created_at,’%Y-%m-%d’) days,COUNT(id) count FROM  inform where smalltype =’12_1′  GROUP BY days order by count desc

按月查询
SELECT DATE_FORMAT(create_time,’%Y%m’) months,COUNT(id) count FROM  inform where smalltype =’12_1′  GROUP BY months order by count desc

相关文章

关于数据表操作的详细介绍

查看表结构对于创建成功的数据表,可以使用SHOW COLUMNS语句或DESCRIBE语句查看指定数据表的表结构。下面分别对这两个语句进行介绍。1.SHOW COLUMNS语句SHOW COLUM...


		介绍mysql数据类型int bigint smallint tinyint长度

介绍mysql数据类型int bigint smallint tinyint长度

int bigint smallint tinyint 长度,text char varchar 长度 一个汉字 = 三个字节 一个字母、数字只 = 一个字节 BLOB、TEXT、varchar...


		Discuz通过DB::num_rows获取主题数量

Discuz通过DB::num_rows获取主题数量

如本文摘要所述,在Discuz二次开发过程中,想要输出某个用户的发帖数量该如何操作呢? 小编没有找到Discuz系统定义的功能,因此通过mysql命令进行查询。开始使用了如下代码 <...


		Discuzx数据库操作DB类和C::t类使用方法

Discuzx数据库操作DB类和C::t类使用方法

类定义文件 DB类: 文件\source\class\class_core.php class DB extends discuz_database {} DB类封装常用方法: DB::table...


		Mysql数据库通配符查询示例 Navicat环境

Mysql数据库通配符查询示例 Navicat环境

SQL通配符是使用用特殊字符或语法拼写,用来执行模糊搜索指令的语句功能。在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。如在数据中搜...

mysql 3306端口启动失败原因及解决方案

解决方法: 1.首先,使用组合键“win+R”运行cmd,进入命令提示符窗口; 2.进入到命令提示符窗口后,在命令行中执行netstat -ano命令,查看端口进程; 3.在端口进程列表中,查找到...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。