рассмотрим следующую таблицу:
covid_data(
CASES INT,
DEATHS INT,
COUNTRIES VARCHAR(64),
);
Я пытаюсь получить названия стран, уровень смертности которых превышает уровень смертности AVG. Формула, которую я использую, чтобы получить число смертей на каждые 1000 случаев: (ЧИСЛО СМЕРТ / ЧИСЛО СЛУЧАЕВ) * 1000. Чтобы получить AVG, я использую этот запрос:
SELECT AVG(rate)
FROM (
SELECT CAST(SUM(deaths) AS FLOAT) / SUM(cases) * 1000 AS rate
FROM covid_data
) covid_data;
. Чтобы вывести список страны с большей скоростью, чем этот AVG, это одна из многих попыток, которые я пробовал до сих пор.
SELECT countries, CAST(SUM(deaths) AS FLOAT) / SUM(cases) * 1000 AS RATEM
FROM covid_data
GROUP BY countries
HAVING RATEM > (SELECT AVG(RATE)
FROM (
SELECT CAST(SUM(DEATHS) AS FLOAT) / SUM(CASES) * 1000 AS RATE
FROM covid_data
) covid_data);
Это возвращает ошибку: нет такого столбца: RATEM
Как вы можете Понимаете, я борюсь с этими основополагающими понятиями, которые я бы также оценил, а также любые книги / курсы / ресурсы, чтобы лучше понять эти отношения.