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;
La sottoquery trova il prezzo minimo per ogni EAN; la query esterna trova i dettagli che corrispondono all'EAN e al prezzo minimo per quell'EAN. Se sono presenti due record con lo stesso prezzo minimo per un determinato EAN, verranno scelti entrambi.