В Mysql:
У меня есть имя клиента (первичный ключ), города и сумма в таблице:
Таблица городов:
customer location amount
Cust1 New York, USA 200
Cust2 New York, USA 300
Cust3 Chicago, USA 100
Cust4 Paris, France 400
Cust5 Nice, France 500
Cust6 Milan, Italy 600
Cust7 Mumbai, India 0
Формат Имя местоположения в этой таблице:
<city>, <country>
То же, что и:
<city><comma><space><country>
Таблица Страна (первичный ключ):
Name
USA
France
Italy
India
Thailand
Я хочу узнать, как много городов в каждой стране, и среднее количество каждой страны. Как:
Country Count Average
USA 3 200 // (200 + 300 + 100) / 3
France 2 450 // (400 + 500) / 2
Italy 1 600 // (600) / 1
India 1 0 // (0) / 1
Thailand 0 0 // 0
Итак, мой запрос:
SELECT t1.name Country, count(distinct t2.location) Count
FROM Country t1 LEFT JOIN Cities t2
ON t2.location LIKE concat('%, ', t1.name)
GROUP BY t1.name ORDER BY Count DESC
Но он не дает средних данных, он только дает название страны и количество