我创建了一个帖子系统和一个点赞系统。我想选出点赞最多的前三篇文章,但我不知道该怎么做。
我有这个代码,但是我不知道如何选择多于一行。
$get_pop_posts = mysql_query( "SELECT MAX( likes ) AS popular_posts FROM `posts`;" );
while($fetch_pop_posts = mysql_fetch_array($get_pop_posts)){
$pop_posts = $fetch_pop_posts['popular_posts'];
echo $pop_posts;
}
这段代码只从数据库中获取一行。
SELECT *
FROM posts
order by likes desc
limit 3
SELECT MAX(likes) AS popul_posts FROM posts
由于函数MAX(),该查询返回单个结果。
试试这个SELECT TOP 3 FROM posts
首先为每个帖子提供唯一的id,该id应该在每次新帖子出现时自动增加。
,SELECT id FROM posts order by likes limit 3
将这些id作为数组传递以获得完整的post。