我正在使用MySQL,我想在选择中包含组平均值,但它仍然显示所有行。
相关表格:Student(studentID, studentName, major, class, gpa)
SELECT *, AVG(gpa) AS AvgClassGPA
FROM Student s1
WHERE gpa < (
SELECT AVG(gpa)
FROM Student s2
WHERE s1.class = s2.class
GROUP BY class
)
GROUP BY NULL, class
ORDER BY studentID;
这只返回4行(分别为新生,大二,大三和大四)。如果我不包括AVG()选择和最后一个GROUP BY类,我会得到所需的行但不显示类平均值。我怎样才能得到两者?
感谢任何回复的人!