-1

我正在尝试编写一个 sql 查询来选择我网站上最后一分钟的前 10 个热门页面。我的表名为trending. 每次用户访问一个页面时,都会在该表中输入一条记录以及该访问的时间。像这样的东西:

$time = time() - 3600;
$mysqli->query("SELECT COUNT(`id`) FROM `trending` WHERE `time` > '$time'");

如何获得 10 个不同页面的前 10 条记录?像MAX()我也想获取与页面相关的数据,例如名称。

4

2 回答 2

2

按 id 分组,然后按计数排序。

    $mysqli->query("SELECT id, COUNT(`id`) as cnt 
FROM `trending` WHERE `time` > '$time' 
group by id 
order by cnt desc limit 10");
于 2013-05-03T19:10:45.087 回答
0

这个有帮助吗?(你的意思是最后一小时)

$time = time() - 3600;
$mysqli->query("SELECT id FROM 'trending' WHERE 'time' > '".$time."' LIMIT 1,10");
于 2013-05-03T19:11:57.590 回答