mysql - 将 ORDER BY 添加到 LEFT OUTER JOIN
问题描述
我的照片不正常。在$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
所以,我p.picid
在 SELECT 部分添加,然后在我添加的 ORDER BY 中添加p.picid ASC
,但图像仍然以任何顺序显示。
解决方案
简而言之,将 p.picid 放在 ORDER BY 子句中的第一位或不理会它。
TLDR;
如果您想按“右侧”的图片对列表进行排序,我怀疑 LEFT OUTER JOIN 在这里是否适用。我想 INNER JOIN 会更适合这里。
此外, GROUP BY 与SELECT *
. 您只能在此处使用分组字段或聚合。
推荐阅读
- python - 根据条件将某些行的值与另一个最近的行相加
- c# - 如何删除输出列表中的重复项?
- ios - iOS Metal:锯齿状消除锯齿
- docker - Docker RUN 失败,但在镜像中执行相同的命令成功
- python - 附加到列表的蛇游戏问题
- javascript - 如何使用字符串数组中的标头从 Angular 8 导出 excel
- java - 从适配器返回到片段后获取上下文
- jsx - 如何在 c# 中将 jsx 文件发送到 photoshop?
- javascript - 如何通过存储在javascript变量中的值访问元素
- python - 如何在 Python 中纠正超平面的位置?