gpt4 book ai didi

mysql - 使用 MySQL 选择不超过 6 个月的行

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

我有以下查询,我想从表中选择比所选视频的当前时间早不超过 6 个月的所有视频 :time

我得到了这个值15638400由此:echo strtotime('+6 month', 0);

表中所有时间均在 UNIX timestamp 中格式。

当我运行此查询时,所有视频都会被选中,因为该行不存在。所以我的意思是结果确实取决于 having time - :time < 15638400 。如果我删除它,结果是一样的。

将选择一个视频,其时间戳为 X(例如)。此查询将返回与第一个视频相比 6 个月或更早上传的所有视频。因此 6 个月或小于 X 值。

$query = "select `video_name`, `title`, `yt_id` from `videos`
where match(`genre`) against (+:genre IN BOOLEAN MODE)
and match(`country`) against (+:country IN BOOLEAN MODE)
having time - :time < 15638400
and `video_name` != :video_name ORDER BY RAND() limit :limit";

try {
$run_query = $db->prepare($query);

$run_query->bindValue(':country', $this->country);
$run_query->bindValue(':genre', $this->genre);
$run_query->bindValue(':time', $this->time);
$run_query->bindValue(':video_name', $this->video_name);
$run_query->bindValue(':limit', $limit, PDO::PARAM_INT);

$run_query->execute();

return $run_query->fetchAll(PDO::FETCH_OBJ);

} catch(PDOException $e) {
echo $e->getMessage();
}

最佳答案

你可以试试

select id
from your_table
where your_timestamp_column <= (now() - interval 6 month);

关于mysql - 使用 MySQL 选择不超过 6 个月的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110594/

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