使用子查询的平均值

时间:2015-01-27 10:55:02

标签: mysql sql

我想做一个查询,给我一个学生的最大和最小平均分。我可以获得最大和最小分数,但我不知道如何计算那些分数。

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

这给出了每个学生的最大分数,我需要平均值。

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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;