2015-01-27 5 views
0

Я хочу сделать запрос, который дает мне максимальную и минимальную среднюю оценку учащихся. Я могу получить метки max и min, но я не знаю, как вычислить их среднее значение.Среднее значение с использованием подзапроса

SELECT MAX(mark) AS Max_mark FROM passed 
GROUP BY student_id; 

Это дает максимальную оценку от каждого студента, мне нужно среднее значение этого значения.

+0

Вы хотите, чтобы средняя от минус и макс марки –

ответ

1

Использование AVG, чтобы получить насчитайте на одного студента. Используйте MIN и MAX для этого, чтобы получить самый высокий и самый низкий уровень для всех учеников.

select 
    min(avg_mark) as min_avg_mark, 
    max(avg_mark) as max_avg_mark 
from 
(
    select avg(mark) as avg_mark 
    from passed 
    group by student_id 
) as avg_marks; 
1
SELECT student_id, (MAX(mark) + MIN(mark))/2 AS Avg_mark FROM passed 
GROUP BY student_id; 

Или вы ищете среднего

SELECT student_id, AVG(mark) as Avg_mark FROM passed 
GROUP BY student_id;