我尝试了很多但没有成功,我只想显示学生列表中学生的最大平均分,如下表所示。
我的 table
我想要得到如下结果
预期输出
到目前为止我做了什么
SELECT MAX(a.Total_Qty) As TotalMax,a.studentId
FROM(
SELECT AVG( s.marks ) AS Total_Qty,s.studentId
FROM results s
WHERE s.stream = 'Form One'
GROUP BY s.studentId) AS a
最佳答案
内部查询将为您提供每个学生的平均值列表。 然后我们按平均分排序(降序),最后得到前 1 名(限制 1)
SELECT a.studentId, a.Total_Qty as MaxAvg
FROM(
SELECT AVG( s.marks ) AS Total_Qty,s.studentId
FROM results s
WHERE s.stream = 'Form One'
GROUP BY s.studentId)
AS a
Order by a.Total_Qty Desc
Limit 1
或者:
SELECT AVG( s.marks ) AS Total_Qty,s.studentId
FROM results s
WHERE s.stream = 'Form One'
GROUP BY s.studentId
Order By AVG( s.marks ) Desc
Limit 1
关于mysql - 查找平均分最高的学生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25681766/