mysql查询近三个小时-近三天的数据

sql语句查询最近七天 三十天 数据

几个小时内的数据
DATE_SUB(NOW(), INTERVAL 5 HOUR)

今天
select * from 表名 where to_days(时间字段名) = to_days(now());

昨天
SELECT * FROM 表名 WHERE TO_DAYS( NOW() ) - TO_DAYS( 时间字段名) = 1

# 近7天 (含今天)
SELECT * FROM 表名 where TO_DAYS(NOW()) - TO_DAYS(时间字段名) BETWEEN 0 and 6

本月
SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m') = DATE_FORMAT( CURDATE() ,'%Y%m' )

上一月
SELECT * FROM 表名 WHERE PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(时间字段名, '%Y%m')) =1

近三个月 (含本月)
SELECT * FROM 表名 WHERE PERIOD_DIFF(date_format(now(),'%Y%m'),date_format(时间字段名, '%Y%m')) BETWEEN 0 and 2

# 大于三年前的数据  比如现在是 2023-12-30 23:13, 得到表中大于2020-12-30(包含此一整天) 的数据
SELECT * FROM 表名 WHERE 时间字段名 > DATE_SUB(CURDATE(), INTERVAL 3 YEAR)

你可能感兴趣的:(#,mysql,数据库)