查询MySQL表并获取最近3天之前发布的记录?

假设当前日期是-

'2019-10-20

我们将首先看到一个示例并创建一个表-

create table DemoTable1582
   -> (
   -> PostedDate datetime
   -> );

使用插入命令在表中插入一些记录-

insert into DemoTable1582 values('2019-01-21 12:34:40');
insert into DemoTable1582 values('2019-10-15 11:00:00');
insert into DemoTable1582 values('2019-10-25 1:10:00');

使用select语句显示表中的所有记录-

select * from DemoTable1582;

这将产生以下输出-

+---------------------+
| PostedDate          |
+---------------------+
| 2019-01-21 12:34:40 |
| 2019-10-15 11:00:00 |
| 2019-10-25 01:10:00 |
+---------------------+
3 rows in set (0.00 sec)

这是获取过去3天之前发布的行的查询。

select * from DemoTable1582
   -> where PostedDate between date_sub(PostedDate, interval 3 day) and now();

这将产生以下输出-

+---------------------+
| PostedDate          |
+---------------------+
| 2019-01-21 12:34:40 |
| 2019-10-15 11:00:00 |
+---------------------+
2 rows in set (0.20 sec)