Я создал представление, содержащее:Получение выше среднего студента из базы данных
student_full_name subject_code result
Jennifer Higgins CS1234 81
Jennifer Higgins CS1235 90
Kal Penn CS1234 70
Kal Penn CS1235 60
Han Solo CS1234 45
Han Solo CS1235 70
Я пытаюсь получить:
среднего результат каждого студента, так как, скажем, Дженнифер Хиггинс зачислена в CS1234 и CS1235. Ее средняя отметка будет 85.50.
Затем знаки Дженнифер Хиггинс будут сравниваться со средней отметкой всех зачислений Итак, суммируя AVG (результат) для всех предметов.
В запросе будут указаны все учащиеся, которые получают более высокие оценки.
Я знаю, что я должен использовать дополнительный запрос здесь, чтобы получить AVG всех результатов. Ну, это своего рода псевдокод. Я довольно зациклен, так как не уверен, как сделать подзапрос сопоставимым с результатами запроса. Я уверен, что мне нужны две группы по операторам, одно для группировки student_full_name, а другое для получения всех средних результатов.
SELECT student_full_name,
AVG(results) AS average_result
FROM viewEnrol
WHERE average_result > (SELECT (AVG(results))
FROM viewEnrol
GROUP BY student_full_name
// EDIT
OUTPUT должен выглядеть. Kal Penn и Han Solo не указаны, так как они не превышают среднюю отметку. Средняя оценка всех предметов - 69,33. Хан Соло получил 57,5, а Kal Penn получил 65.
student_full_name subject_code result
Jennifer Higgins CS1234 85.5
Любая помощь?
Какая система баз данных и какая версия? ** SQL ** - это только * Structured Query Language * - язык, используемый многими системами баз данных, но «SQL» не является продуктом базы данных ... такие вещи могут быть специфическими для поставщиков, поэтому нам действительно нужно знать, что базы данных, которую вы используете .... –
Использование студии управления базами данных microsoft, так что я думаю, ее t-sql – nfnmy
Можете ли вы представить, как результат должен выглядеть как –