我的照片坏了。在$t_adpics表中,有一个picid AUTO_INCREMENT列。我想使用picid id以从最低到最高的顺序显示图像。

SELECT a.*, p.picid
FROM $t_ads a
LEFT OUTER JOIN $t_adpics p ON a.adid = p.adid
WHERE a.adid > 0
GROUP BY a.adid
ORDER BY a.adid DESC, p.picid ASC


因此,我在SELECT部分​​中添加了p.picid,然后在ORDER BY中添加了p.picid ASC,但是图像仍以任何顺序显示。

最佳答案

简而言之,将p.picid放在ORDER BY子句中的第一位或不理会它。

TLDR;
如果您想按“右侧”的图片排序列表,我怀疑LEFT OUTER JOIN是否在这里适用。我想INNER JOIN在这里会更合适。
另外,GROUP BY和SELECT *看起来很奇怪。您只能在此处使用分组字段或聚合。

关于mysql - 将ORDER BY添加到LEFT OUTER JOIN,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59629543/

10-09 21:55