2014-09-05 4 views
0

인 학생 찾기 나는 많은 성공을 거두었지만, 아래 표에 나와있는 학생 목록의 학생 점수 평균을 표시하고 싶습니다.최대 평균 점수가

내 테이블
enter image description here

내가 enter image description here

내가 지금까지

012 한 일을

예상 출력 다음과 같은 결과를 얻으려면

+0

학생이나 전체 학생의 평균 메모를 원하십니까? – Youness

+0

최대 평균 한 학생을 받고 싶습니다 – dxcoder1

답변

2

내부 검색어는 각 학생의 평균 목록을 제공합니다. 그런 다음 우리는 그들의 평균 점수에 의해 (내림차순) 주문하고 마지막으로 우리는

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 

또는 상위 1 (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 
+0

쿼리 포함을 제거 할 수있는 것 같습니다. AVG로 정렬 (s.marks) – Bulat

+0

덕분에 도움이되었습니다. – dxcoder1

-1

(안된) 나는 그것이

도움이되기를 바랍니다 MSSQL을 사용하는 경우

:

SQL을 사용하는 경우 :

SELECT studentId, AVG(marks) FROM results GROUP BY studentId 
ORDER BY MAX(AVG(marks)) Desc Limit 0,1