【发布时间】:2021-01-13 16:36:38
【问题描述】:
我有 2 个关系表,我加入了它们,我希望它按相同的字段排序。
表格:
帖子字段:id、post、created
转发字段:id、post_id、created
这是我目前拥有的:
SELECT
p.post as post,
p.created as post_created,
rp.created as repost_created
FROM posts p
LEFT JOIN reposts rp
ON rp.post_id = p.id
ORDER BY rp.created DESC, p.created DESC
这是该代码的结果:
{1
但我想要的是对整个数据进行排序,基于 created 字段作为一个整体,关于它是否有 repost_created 或者它是否为空,它将基于在 post_created 字段上。像这样:
[2
非常感谢!
【问题讨论】:
-
您不会在任一图像中显示 p.id 或 rp.post_id,但您可能需要在
order by子句中包含两者。例如order by coalece(rp.post_id, p.id)然后是其他列。如果您在问题中提供了示例数据(以文本形式,按表格,而不是查询结果),那么也许我们可以做更多
标签: mysql sql sorting join sql-order-by