SELECT p.*, ph.*
FROM products AS p
INNER JOIN product_photos AS ph
ON p.product_id = ph.product_id
LEFT JOIN product_photos AS ph2
ON p.product_id = ph2.product_id
AND ph2.photo_order < ph.photo_order
WHERE ph2.photo_order IS NULL
ORDER BY p.product_title ASC
product_photosテーブルに2回結合する方法に注意してください。 WHERE ph2.photo_order IS NULL
最も低い写真の順序を除くすべてを破棄します。ただし、product_id / photo_ordersコンボの重複からは保護されませんが、GROUP BY
を追加することはできます。 その場合はp.idで。