我有一个帖子表和一个用户表,中间有一个表,其中包含两者之间的关系。一个用户可以有很多帖子等。
可以通过在帖子表的星号列中添加 0 或 1 来为帖子“加星号”。每个用户只会为一个帖子加星标,但有些用户将没有加星标的帖子。
我需要创建一个查询,每个用户拉一个帖子(所以我使用'group by'),并且在这些帖子中它应该得到加星标的帖子,并不是所有用户都会有一个加星标的帖子,所以我不能只使用
WHERE starred = 1
本质上,我想按星号对组进行排序,这样如果有星号,它就会得到加星号的帖子,如果没有,它会得到一个正常的帖子。
这是我到目前为止所拥有的:
SELECT
posts.post_title
FROM
posts
INNER JOIN rel_company_post ON posts.post_id = rel_company_post.post_id
INNER JOIN companies ON rel_company_post.company_id = companies.company_id
GROUP BY companies.company_id
ORDER BY posts.starred DESC