Рассмотрим таблицу Student и таблицу Grades. Таблица классов имеет оценки для всех курсов, которые взял студент. Я хочу найти студента, который имеет максимальную среднюю оценку.Есть ли способ избежать написания встроенных просмотров более одного раза в MySQL
Я бы использовал CTE для этой проблемы, но, похоже, MySQL не предоставляет CTE. Я хочу написать один запрос, чтобы найти студента с максимальным средним значением. а также избегать написания запроса, который получает avg. не более чем один раз.
Запрос, который не работает следующим образом (это может дать больше, о чем я хочу достичь):
select temp.st_name
from (select st1.student_name st_name, AVG(grade) avg_grade from Student st1, Grades grd1 where st1.student_id = grd1 .student_id group by st1.student_id, st1.sudent_name) temp
where temp.avg_grade = (select MAX(temp.avg_grade) from temp)
Этот запрос выдает ошибку: Таблица температуры не существует.
Есть ли другой способ найти ученика с максимальным средним значением. чтобы избежать двукратного написания заявления в виде строки.
Спасибо!
Я надеялся, что у меня не будет слышать это :( Спасибо за ответ !! –