gpt4 book ai didi

php - GROUP BY table1.column_name ORDER BY table2.column_name

转载 作者:行者123 更新时间:2023-11-30 23:19:58 25 4
gpt4 key购买 nike

我有一个帖子表和一个用户表,我还有一个介于两者之间的表,其中包含两者之间的关系。一个用户可以有很多帖子等。

可以通过在帖子表的加星标列中添加 0 或 1 来对帖子进行“加星标”。每个用户只能为一个帖子加星标,但有些用户没有加星标的帖子。

我需要创建一个查询,为每个用户提取一个帖子(所以我使用“分组依据”),并且在这些帖子中它应该被加星标,不是所有用户都会有加星标的帖子所以我不能只需使用

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

最佳答案

首先,没有更多信息,您的中间表似乎是不必要的。在 posts 表中添加一列“company_id”,以便您可以直接看到帖子的所有者,并删除中间表。

其次你正在寻找“最大”即

选择 max(starred), posts.post_title

如果将 company_id 放入 posts 表中,则甚至不需要进行连接

你的整体查询看起来像

从帖子中选择 max(starred), post_title按 company_id 分组

关于php - GROUP BY table1.column_name ORDER BY table2.column_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15937168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com