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;
De subquery vindt de minimumprijs voor elke EAN; de buitenste zoekopdracht vindt de details die overeenkomen met de EAN en de minimumprijs voor die EAN. Als er twee records zijn met dezelfde minimumprijs voor een bepaalde EAN, worden beide gekozen.