sql查询从表中获取COUNT和MAX结果数

时间:2013-05-03 19:03:38

标签: php sql mysqli

我正在尝试编写一个SQL查询,以便在最后一分钟选择我网站上的前10个趋势页面。我的表名为trending。每次用户访问页面时,都会根据该访问的时间将记录输入该表。像这样:

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

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

2 个答案:

答案 0 :(得分:2)

按ID&组分组然后按计数排序。

    $mysqli->query("SELECT id, COUNT(`id`) as cnt 
FROM `trending` WHERE `time` > '$time' 
group by id 
order by cnt desc limit 10");

答案 1 :(得分:0)

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

$time = time() - 3600;
$mysqli->query("SELECT id FROM 'trending' WHERE 'time' > '".$time."' LIMIT 1,10");