我想检索前10个最受欢迎的主题是在过去的24小时内张贴。如果网站在过去24小时内获得的主题少于10个,它必须检索前一天剩余的最受欢迎的主题。
我将时间以unix格式存储在数据库中,视图是整型的。我想知道要以上述方式获取的sql查询。
$time_start = time(U);
$time_end = strtotime('-1 day', $time_start);
$query = mysql_query("SELECT * FROM topics where topic_active = 'Yes' and topic_type = 'topic' and topic_time BETWEEN $time_start and $time_end ORDER BY topic_views DESC LIMIT 10");topic_time是以unix格式存储在数据库中的主题发布时间,如1411657030
从上面的查询中,我只能获取过去24小时内最多的浏览量,如果没有主题帖子,这将显示为空。从前一天获取主题的查询可以是什么。
发布于 2014-10-28 17:47:49
使用一些像这样的东西,请让我知道它是有效的
SELECT *, from_unixtime(topic_time / 1000, '%Y-%m-%d %H:%i') FROM topics
WHERE topic_time >= unix_timestamp(CURRENT_TIMESTAMP - INTERVAL 1 DAY) * 1000请检查下面的链接
发布于 2014-10-28 18:17:46
我想像这样的东西会有用的..。
SELECT *
, 1 x
FROM topics
WHERE topic_active = 'Yes'
AND topic_type = 'topic'
AND topic_created > UNIX_TIMESTAMP(NOW())-86400
UNION
SELECT *
, 2
FROM topics
WHERE topic_active = 'Yes'
AND topic_type = 'topic'
AND topic_created > UNIX_TIMESTAMP(NOW())-172800
ORDER
BY x
, topic_views
LIMIT 10;https://stackoverflow.com/questions/26605033
复制相似问题