SELECT B.*
FROM BigTable AS B -- Why do SQL questions omit the table names so often?
JOIN (SELECT EAN, MIN(Price) AS Price
FROM BigTable
GROUP BY EAN
) AS P
ON B.EAN = P.EAN AND B.Price = P.Price
ORDER BY B.EAN;
Die Unterabfrage findet den Mindestpreis für jede EAN; Die äußere Abfrage findet die Details, die mit der EAN und dem Mindestpreis für diese EAN übereinstimmen. Wenn es zwei Datensätze mit demselben Mindestpreis für eine bestimmte EAN gibt, werden beide ausgewählt.