gpt4 book ai didi

php - 如何从 MySQL 中获取最近 7 天的行?

转载 作者:行者123 更新时间:2023-11-29 07:33:08 24 4
gpt4 key购买 nike

如何从 articles 表中获取最近 7 天的行数?每行都有一个值 timestmp,其中时间是通过 time() 设置的。我试过这个:

SELECT COUNT(*) FROM `articles` WHERE `timestmp`>NOW()-INTERVAL 168 HOUR

这对我不起作用:(

表格是:

CREATE TABLE `articles` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`link` text NOT NULL,
`article_name` text NOT NULL,
`descript` text NOT NULL,
`preview` text NOT NULL,
`content` text NOT NULL,
`category` int(11) NOT NULL,
`author` text NOT NULL,
`keywrds` text NOT NULL,
`timestmp` int(11) NOT NULL,
`modified` int(11) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT (`keywrds`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

预期输出是最近 7 天的所有文章,包括名称、描述等。

最佳答案

您的 timestmp 列应该存储一个 UNIX 时间戳,这是自 1970 年 1 月 1 日 UNIX 纪元开始以来的秒数。因此,如果您只想要恰好发生在最后 7 天,那么您可以从 timestmp 列中减去 7 天(秒):

SELECT COUNT(*) AS cnt
FROM articles
WHERE timestmp > UNIX_TIMESTAMP() - 7*24*60*60;

如果相反,您想要 7 天前的记录,包括整个第一天,那么我们需要做更多的工作。在这种情况下,我们必须计算第一天的午夜,然后将其转换为 UNIX 时间戳。

SELECT COUNT(*) AS cnt
FROM articles
WHERE timestmp > UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 7 DAY))

关于php - 如何从 MySQL 中获取最近 7 天的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50190551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com