MySQL关于根据日期查询数据的sql语句

2017-12-14 13:46:14

查询往前7天的数据:

[html] view plain copy print?

  1. select * from 数据表  where  DATE_SUB(CURDATE(), INTERVAL 7 DAY) <=  你要判断的时间字段名  

[html] view plain copy print?

  1.   


查询往前30天的数据:

[html] view plain copy print?

  1. select * from 数据表  where  DATE_SUB(CURDATE(), INTERVAL 30 DAY) <=  你要判断的时间字段名  

[html] view plain copy print?

  1.   


查询在某段日期之间的数据:

[html] view plain copy print?

  1. select * from 数据表  where 时间字段名 BETWEEN '2016-02-01' AND '2016-02-05'  


查询往前3个月的数据:

[html] view plain copy print?

  1. select * from 数据表  where 时间字段名 BETWEEN DATE_SUB(NOW(),INTERVAL 3 MONTH) AND NOW()  

[html] view plain copy print?

  1.   


查询往前一年的数据:

[html] view plain copy print?

  1. select * from 数据表  where 时间字段名 BETWEEN DATE_SUB(NOW(),INTERVAL 1 YEAR) AND NOW()  

[html] view plain copy print?

  1.   


查询本月的数据

[html] view plain copy print?

  1. select * from 数据表 where DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(NOW(),'%Y-%m')  



查询上月的数据

select * from 数据表 where DATE_FORMAT(时间字段名,'%Y-%m')=DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%Y-%m')


查询本周的数据

[html] view plain copy print?

  1. select * from 数据表 where YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW())  



查询上周数据

[html] view plain copy print?

  1. select * from 数据表 where YEARWEEK(DATE_FORMAT(CREATE_TIME,'%Y-%m-%d')) = YEARWEEK(NOW())-1  



  • 2023-08-19 18:57:08

    强制杀死nginx进程简单粗暴

    nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory),最简单的办法,杀死nginx进程,重启

  • 2023-09-21 16:49:06

    用webpack.ProvidePlugin来解决Photo-Sphere-Viewer旧版本浏览器兼容问题

    上篇文章已经搭建了最基本的项目,我用手机下载了一个版本62.点开头的chrome apk来测试。 果真白屏,啥也没有,也看不到报错信息。 赶紧安装 vconsole ,重启,刷新,依然白屏,连vconsole也没有。这可咋弄。 想了下,这浏览器老的是可以呀,还得修改编译参数,加大es5的处理。 根目录有一个配置文件 .browserslistrc 里面的配置如下