Мне поставили задачу:
Напишите запрос, который показывает средний возраст человека в Калифорнии в 2018 году.
Формула для среднего возраста приведена ниже.
??????? = Σ (??? + 0,5) * ?????? / Σ??????
Я должен получить результат:
average
0 38.487045
Выбор * из совокупности дает базовые данные в этом формате:
fips county year age pop_female pop_male pop_total
6001 ALAMEDA 1970 0 8533 8671 17204
6001 ALAMEDA 1970 1 8151 8252 16403
6001 ALAMEDA 1970 2 7753 8015 15768
6001 ALAMEDA 1970 3 8018 8412 16430
6001 ALAMEDA 1970 4 8551 8648 17199
..... и так далее в возрасте 1-100 лет и 1970-2018
Я пытался использовать это:
select (sum(age + 0.5) * (pop_total) / sum(pop_total)) as
average from population group by year having year = 2018
Но это дало мне результат:
average
0.05875349176742352
Что я делаю не так?