С учетом двух таблиц:
- учителя: ID, идентификатор школы
- школы: ID, численность учащихся, район.
... какой запрос может подсчитать количество учителей и учащихся по районам?
выборка данных:
Teachers
ID, school_id
1, 1
2, 1
3, 2
4, 3
Schools
ID, student_population, district
1, 45, Falaba
2, 23, Falaba
3, 87, Bonth
4, 10, Moyamba
Желаемые результаты:
teachers, students, district
3, 68, Falaba
1, 87, Bonth
0, 10, Moyamba
Моя первая попытка была:
select count(*) as teachers, sum(student_population), district from teachers join schools on teachers.school_id = schools.id group by district.
... однако этот запрос приводит к тому, что численность учеников каждой школы учитывается для каждого учителя, который принадлежит к ней. Следовательно, общая численность учащихся по Фалабе составляет 113 (45 + 45 + 23) вместо 68.