在mysql中选择上一小时的记录

dffbzjpn  于 2023-04-29  发布在  Mysql
关注(0)|答案(2)|浏览(185)

我正在尝试选择从当前时间的最后一个小时添加的帖子。我已经探讨了以前的问题,但他们使用固定的日期或日期时间。为了实现这一点,我使用以下查询:

SELECT * FROM `wp_posts` 
WHERE post_date >= SUBTIME(CURRENT_TIMESTAMP(), "1:0:0") 
and post_date <= CURRENT_TIMESTAMP();

此查询未显示任何结果。当我使用它没有和它只是工作完美。那么,如何使用当前日期选择前一小时的记录,因为我使用CURRENT_TIMESTAMP()为此?

thigvfpy

thigvfpy1#

我已经测试了你的代码,它对我来说很好。如果不显示行,则表示CURRENT_TIMESTAMP()和1小时前之间没有post_date。
另一方面,如果我们假设post_date总是小于CURRENT_TIMESTAMP()(我不知道你的情况是否如此;你没有指定),作为一个建议,你可以通过简单地这样做来改进你的代码。

SELECT * FROM `wp_posts` 
WHERE post_date >= SUBTIME(CURRENT_TIMESTAMP(), "1:0:0")

如果post_date总是小于CURRENT_TIMESTAMP(),则不需要包含它。

t98cgbkg

t98cgbkg2#

create table wp_posts(
         id int, 
         post_date datetime);

insert into wp_posts(id, post_date)
      values(1, '2023-04-20 08:15:00'),
      (2, '2023-04-21 18:5:00'),
      (3, '2023-04-21 18:1:00'),
      (4, '2023-04-21 18:16:00'),
      (5, '2023-04-21 18:25:00'),
      (6, '2023-04-20 18:30:00');
select current_timestamp
当前时间戳
2023-04-20 18:40:39

查询:

SELECT * FROM `wp_posts` 
WHERE   post_date > now() - interval 1 hour;

输出:
| 身份证|邮寄日期|
| --------------|--------------|
| 二|2023-04-21 18:05:00|
| 三|2023-04-21 18:01:00|
| 四|2023-04-21 18:16:00|
| 五|2023-04-21 18:25:00|
| 六|2023-04-20 18:30:00|
fiddle

相关问题