我尝试了很多但没有成功,我只想显示学生列表中学生评分的最大平均值,如下表所示。
我的桌子
我想得到如下结果
预期产量
到目前为止我做了什么
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/