У меня есть 3 таблицы с данными учеников из разных школ. Я должен получить количество учеников на школу в одной таблице (готово) и затем использовать заданные вероятности, чтобы выяснить, сколько учеников на множество вероятностей. У меня есть результаты учащихся в школе из другого запроса.
Пример: я использовал запрос, чтобы узнать общее количество учеников в школе "CAA".
Если это 198, то распределение вероятностей будет
(0,05 * 198, 0,08 * 198, 0,18 * 198, 0,3 * 198, 0,11 * 198, 0,28 * 198).
Как мне получить эти значения из указанной таблицы и умножить на результаты?
Я надеюсь, что это имеет смысл, и простите меня, я новичок в Postgres. Я приложил свой запрос, чтобы получить количество и фотографии двух соответствующих таблиц.
simulated_records:
record_id(PK bigint) Status(text) grade(text
1 CL -
2 CEC -
3 CEC -
4 CEC -
5 CAA -
6 CAS -
7 CAA -
8 CAA -
9 CAA -
10 CL -
school_probs:
school_code(PK bigint) school(text) probs(numeric)
1 CAA {0.05,0.08,0.18,0.3,0.11,0.28}
2 CAS {0.06,0.1,0.295,0.36,0.12,0.065}
3 CBA {0.05,0.11,0.35,0.32,0.12,0.05}
4 CL {0.07,0.09,0.24,0.4,0.06,0.09}
grade_values:
id(PK integer) score(text) grade(text
1 95-100 A
2 90-94 A-
3 80-89 B+
4 70-79 B
5 60-69 C
6 0-59 D
МОЙ ЗАПРОС:
SELECT simulated_records.school, COUNT(simulated_records.school) as CountSchool
FROM simulated_records, school_probs
WHERE simulated_records.school = school_probs.school
GROUP BY simulated_records.school;
То, что я должен уметь делать, - это заполнять оценки в таблице смоделированных записей на основе количества учеников в школе и использования вероятностей (которые определяют, сколько детей должно иметь какой класс, используя функцию.
Кроме того, таблица фактических смоделированных записей содержит более 2000 записей.
Ожидаемые результаты. Пустой столбец оценок в simulated_records будет заполнен оценками, основанными на количестве учеников и вероятности из school_probs.
record_id(PK bigint) Status(text) grade(text
1 CL A
2 CEC B
3 CEC B
4 CEC A
5 CAA C
6 CAS B
7 CAA D
8 CAA A
9 CAA A
10 CL C