Sử dụng substring_index
để có được quốc gia đầu tiên trong ;
-danh sách riêng biệt.
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
Sẽ phức tạp hơn nhiều nếu bạn muốn giữ tất cả các hàng mà mỗi quốc gia xuất hiện (trong trường hợp đó, tôi khuyên bạn nên làm điều đó bằng PHP, không phải MySQL, vì MySQL không có cách nội trang để thực hiện explode()
).