mysql 查询过去某时间段的数据
来源:互联网 发布:淘宝邀请的活动有用吗 编辑:程序博客网 时间:2024/06/06 08:24
在使用数据库查询数据的时候有时候会要求查询过去某段时间的数据,比如过去一天、过去一周、过去一个月、过去一年等等。下面记录这种查询的实现方式。
数据表结构:
CREATE TABLE `tb_plant_data` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `plant_id` INT(11) NOT NULL COMMENT '植物id', `plant_type` INT(11) NOT NULL COMMENT '植物品种', `temperature` FLOAT NOT NULL COMMENT '温度', `humidity` FLOAT NOT NULL COMMENT '湿度', `sunshine` FLOAT NOT NULL COMMENT '光照', `record_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录时间,默认为系统当前时间', PRIMARY KEY (`id`))
这里注意一下,在最后一列中record_time的类型是TIMESTAMP,默认是系统当前时间。下面来实现分段时间查询。
在阅读实现方法之前可以参考一下mysql的与日期相关的函数:
可以参考:
http://www.w3school.com.cn/sql/sql_dates.asp
to_days( ) 方法
mysql 的to_day() 函数是从日期中获取当天对应的时间戳。
查询当天的数据
SELECT * FROM tb_plant_data WHERE to_days(record_time) = to_days(now());
查询昨天的数据
SELECT * FROM tb_plant_data WHERE to_days(record_time) - to_days(now()) = -1;
查询过去n天的数据
SELECT * FROM tb_plant_data WHERE to_days(record_time) - to_days(now()) = -n;
直接使用DAY()
SELECT * FROM tb_plant_data WHERE DAY(record_time)= DAY(now());
yearweek(date)函数
返回的是日期在当前年的第几周。
查询上一周的数据
SELECT * FROM tb_plant_data WHERE YEARWEEK(record_time)= YEARWEEK(now())-1;
查询上一个月的数据
SELECT * FROM tb_plant_data WHERE MONTH(record_time)= MONTH(now())-1;
查询当年的数据
SELECT * FROM tb_plant_data WHERE YEAR(record_time)= YEAR(now());
0 0
- mysql 查询过去某时间段的数据
- mysql 查询最接近某时间的数据
- 查询数据库当天某时间段数据
- 查询某时间段的SQL
- sed截取某时间段的日志
- MySql查询某段时间内的数据
- Linux sed查看某时间段的系统日志
- Linux sed查看某时间段的系统日志
- 计算某时间段含有假期的天数
- 查某时间段的sql语句/////不等于
- Linux sed查看某时间段的系统日志
- MySql 按时间段查询数据方法
- MySql 按时间段查询数据方法
- MySql 按时间段查询数据方法
- MySql 按时间段查询数据方法
- MySQL——根据某时间点查询其前后数据记录并正序输出到TXT文件
- postgresql查询某时间区间的所有日期
- 指定某时间段执行某个需求
- 算法-0-排序-汇总(持续更新)-目录呈现
- could not get the value for parameter encoding forplugin execution default resources 处理
- C++作业3
- 设计模式--单例模式-Java实现
- c++ if语句的应用
- mysql 查询过去某时间段的数据
- 枚举-(生理周期)
- threadLocal遇上线程池导致局部变量变化
- ios view的frame和bounds之区别(位置和大小)
- lakjdsf
- VS项目属性页 Property page 与属性管理器 Property manager 中配置关系
- 如果大于等于80分,小于等于100分的同学评级为A,小于80分为B.
- C++作业4
- 自定义Queue