2013-10-29 30 views
0

我試圖按專業投影學生的平均GPA最高。錯誤ORA-00937當試圖選擇另一個屬性

它可以工作,如果我不選擇major並離開它。

這是我有:

SELECT MAX(avg_gpa), major 
FROM (SELECT major, AVG(gpa) AS avg_gpa 
     FROM Student 
     GROUP BY major); 

我的錯誤:ORA-00937:不是單組分組函數

回答

1
SELECT 
    MAX(avg_gpa) as max_avg_gpa, 
    min(major) keep (dense_rank first order by avg_gpa desc) as best_major 
FROM (
    SELECT 
    major, 
    AVG(gpa) AS avg_gpa 
    FROM Student 
    GROUP BY major 
) 
+0

感謝這個,它完美地工作。但是我會如何去修改第3行?我還沒有學到那裏使用的一些語法。 – trama

相關問題