我必须显示平均分数应该大于80的学生的平均分数。这是我的代码:
select
student_id,
round(avg(value), 2) as avg_mark
from
mark
where
avg_mark > 80
group by
student_id
order by
avg_mark;
有一个编译错误,指出avg_marks
子句中的where
是无效的标识符。
答案 0 :(得分:0)
您需要使用HAVING
来过滤汇总。
select student_id, round(avg(value),2) as avg_mark
from mark
group by student_id
having round(avg(value),2) > 80
order by avg_mark;
答案 1 :(得分:0)
avg_mark不是现有列,因此您无法在group by中使用它 你需要像avg(value)
那样引用它