sql >> Database teknologi >  >> RDS >> Mysql

Begræns resultater fra samlet tabel til én række

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

Bemærk, hvordan den forbindes til tabellen product_photos to gange. WHERE ph2.photo_order IS NULL smider alt undtagen den laveste fotorækkefølge. Det vil dog ikke beskytte dig mod duplicate product_id / photo_orders combo, men du kan tilføje en GROUP BY på p.id, hvis det er tilfældet.



  1. Hvordan indsætter man billeder fra databasen?

  2. Hjælp med at redigere JSON for at lave et array i stedet for en 'ordbog'

  3. find det N-te største element i SQL

  4. SQL rang percentil