【发布时间】:2021-11-13 01:55:38
【问题描述】:
首先我是 SQL 和 PHP 的新手。
我创建了一个简单的社交网络网络应用程序,用户可以发布并关注其他人以查看他们的新帖子。
在主页上,用户可以首先看到他关注的所有用户的帖子。
但我想要的是让用户看到一些其他随机流行的帖子,这些帖子将按赞排序。
这是我为从我关注的用户那里获取帖子所做的工作:
SELECT * FROM posts WHERE author_id in
(SELECT followedID FROM follows WHERE
followerID=:myID)
ORDER BY id DESC LIMIT 10
现在假设您只关注 1 个人。而那个人只有一个职位。在这里你只会看到一个帖子!
这就是为什么我想在用户已经看过所有帖子时显示更多帖子。
当上述查询完成获取某些特定帖子时,我想要一些简单的方法来获取其他帖子。
这是我要执行的下一个查询。
SELECT * FROM posts ORDER BY post_likes DESC LIMIT 10
【问题讨论】:
-
只需使用 UNION 来做你想做的事。
-
@Ken Lee UNION 会在第一个查询结束后执行第二个查询吗?
-
在您的第二个查询中,为什么要使用两个 order by 子句。如果可能,请提供一些包含两个表和预期输出的示例数据。
-
在下面查看我的答案
-
@Rahul 我误写了双
ORDER BY