Utilisez substring_index
pour obtenir le premier pays dans le ;
-liste séparée.
SELECT
SUBSTRING_INDEX(COUNTRY, ';', 1) AS COUNTRY
SUM(IF(QUANTITY IS NULL OR QUANTITY = 0,1,QUANTITY) * EACH) AS PRICE
FROM table1
GROUP BY COUNTRY
Ce serait beaucoup plus compliqué si vous vouliez conserver toutes les lignes où chaque pays apparaît (dans ce cas, je recommanderais de le faire en PHP, pas MySQL, puisque MySQL n'a pas de moyen intégré de faire explode()
).