MYsql 数据库 ,有个sql如何写

当前有张news表 有字段 addtime ,name ,
查询当前时间起,24小时前的数据,时间不知怎么写。

select * from news where datediff(year,addtime,getdate()) <= 1

或者select * from news where addtime> sysdate-1

1查询今天的信息记录:

1 select * from article where to_days(add_time) = to_days(now());

2查询昨天的信息记录:

2 select * from article where to_days(now()) – to_days(add_time) <= 1;

3 查询近7天的信息记录:

3 select * from article where date_sub(curdate(), INTERVAL 7 DAY) <= date(add_time);

4 查询近30天的信息记录:

4 select * from article where date_sub(curdate(), INTERVAL 30 DAY) <= date(add_time);

5查询本月的信息记录:

5 select * from article where date_format(add_time, ‘%Y%m') = date_format(curdate() , ‘%Y%m');

6 查询上一月的信息记录:

6 select * from article where period_diff(date_format(now() , ‘%Y%m') , date_format(add_time, ‘%Y%m')) =1;

不需要考虑这个addtime的日期类型吗?
思路是把sysdate-addtime>1,当然,前提是日期格式相同

SELECT
*
FROM
projectpersons
WHERE
TIMESTAMPDIFF(
SECOND,
addtime,
NOW()
) >=60*60*24

SELECT * FROM projectpersons WHERE TIMESTAMPDIFF(day,createTime,NOW()) >=1

select * from article where (这里用addtime减去24小时,不知道你的格式类型);