我的照片坏了。在$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/