我试图从数据库中选择我的选择并且结果是错误的。我试图获得ASC订购。这是我的选择代码:
SELECT b.product_id, a.file_destination
FROM images AS a
INNER JOIN product_images AS b
WHERE a.image_id = b.image_id
GROUP BY b.product_id
ORDER BY b.order ASC
随着这个我得到某种随机顺序。有什么想法吗?
答案 0 :(得分:1)
b.order
不在GROUP BY
中。它也没有聚合功能。因此,不应该允许它。正确形成的查询看起来更像是这样:
SELECT pi.product_id, MAX(i.file_destination)
FROM images i INNER JOIN
product_images pi
WHERE i.image_id = pi.image_id
GROUP BY pi.product_id
ORDER BY MAX(pi.order) ASC;
答案 1 :(得分:0)
好的,我想我找到了解决方案。最终的代码是:
SELECT b.product_id, a.file_destination
FROM images AS a
INNER JOIN product_images AS b
ON a.image_id = b.image_id
WHERE b.order = 1
GROUP BY b.product_id