我想从数据库中选择最近24小时内根据喜欢发布的最受欢迎的帖子。 在每个帖子的数据库中,我在post_date列中使用日期(“Y-m-d H:i:s”)发布帖子时存储的时间。
我需要这样的东西:
$most_popular = mysqli_query($mysqli_connect, "SELECT * FROM posts WHERE (time() - post_date) < 86400 ORDER BY likes DESC LIMIT 10");
答案 0 :(得分:2)
您可以执行以下操作:
SELECT *
FROM posts
WHERE post_date > DATE_SUB(NOW(), INTERVAL 1 DAY)
ORDER BY likes DESC
LIMIT 10
答案 1 :(得分:2)
我只想比较post_date
与之前的24小时:
$last_24_hours = date("Y-m-d H:i:s", strtotime("-24 Hours"));
$query = sprintf("SELECT *
FROM posts
WHERE post_date > '%s'
ORDER BY likes DESC
LIMIT 10", $last_24_hours);
$most_popular = mysqli_query($mysqli_connect, $query);
答案 2 :(得分:0)
SELECT *
FROM posts
WHERE post_date >= (now() - INTERVAL 1 DAY)
ORDER BY ...
etc...
答案 3 :(得分:0)
您的问题是:“是否可以将日期(”Y-m-d H:i:s“)与mysqli_query中的time()进行比较?”
答案是肯定的:
SELECT TIME('2003-12-31 01:02:03'); // returns '01:02:03'
注意:如果这是您的问题,则无法处理许多日期。