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

overme7个月前 (10-17)程序开发861
最近入手学习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

相关文章

Mysql,phpmyadmin密码忘了怎么办

1、关闭mysql服务 # service mysql stop 如果提示mysql: unrecognized service这样的错误提示。 先查看查找mysql.server,使用:find...


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

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

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

Discuz二次开发Mysql查询语句

Discuz常用Mysql方法: 用法:DB::query() 1.db_mysql:配置驱动 2.set_config:配置驱动 3.connect:连接数据库 4._dbconnect:  上...


		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 运算符一起使用。如在数据中搜...


		Navicat链接mysql发生10038报警原因和处理

Navicat链接mysql发生10038报警原因和处理

如摘要所述,小编最近在centos7上,通过宝塔面板搭建了Web服务和数据库服务。 局域网中其他电脑使用Navicat链接Mysql时出现10038报错: 1、初次连接宝塔搭建的mysql服务出...

发表评论

访客

看不清,换一张

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