Код ошибки 1111. Неправильное использование групповой функции
Так что это работает:
SELECT c.name AS country_name, c.population AS country_population, SUM(ci.population) AS city_population, ROUND(100*(SUM(ci.population)/c.population)) AS city_population_percent
FROM country AS c
JOIN city AS ci
ON c.code = ci.countrycode
WHERE c.continent = 'Europe'
GROUP BY c.name
Но мне нужно только получить значения city_population_percent больше 30, поэтому я попробую это:
SELECT c.name AS country_name, c.population AS country_population, SUM(ci.population) AS city_population, ROUND(100*(SUM(ci.population)/c.population)) AS city_population_percent
FROM country AS c
JOIN city AS ci
ON c.code = ci.countrycode
WHERE c.continent = 'Europe'
**AND ROUND(100*(SUM(ci.population)/c.population)) > 30**
GROUP BY c.name
И вот тогда я получаю:
Код ошибки 1111. Неправильное использование групповой функции
То есть, когда я добавляю это условие вWHERE
:
AND ROUND(100*(SUM(ci.population)/c.population)) > 30