我想检索平均小于0.8的学生的子代码和usn。
我尝试过类似的方法,但是没有用。

SELECT schedule.subcode,attendance.usn,
FROM schedule,attendance
where schedule.sched_id=attendance.sched_id
having avg(attendance.ispresent)<0.8
group by attendance.usn
order by attendance.usn;


怎么找呢?

最佳答案

很难说出您要问的是什么,但是我注意到的第一件事是,您的having子句必须放在group by之后,并且子代码需要包含在group by语句中。另外,请使用内部联接而不是逗号。尝试这个:

SELECT schedule.subcode, attendance.usn
FROM schedule
INNER JOIN attendance
ON schedule.sched_id=attendance.sched_id
GROUP BY schedule.subcode, attendance.usn
HAVING avg(attendance.ispresent)<0.8
ORDER BY attendance.usn;

关于mysql - 检索汇总函数受条件限制的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40637854/

10-10 02:37