1 create table t_class2( 2 name varchar2(255), 3 subject varchar2(255), 4 score integer, 5 stuid integer 6 ) 7 8 insert into t_class2 values('張三','數學',89,1); 9 insert into t_class2 values('張三','語文',80,1); 10 insert into t_class2 values('張三','英語',70,1); 11 12 13 insert into t_class2 values('李四','數學',90,2); 14 insert into t_class2 values('李四','語文',70,2); 15 insert into t_class2 values('李四','英語',80,2); 16 17 select * from t_class2 18 19 20 --計算每一個人的總成績並排名 desc降序排列 sum()聚合函數求總 21 select name, sum(score) sumscore from t_class2 group by name order by sumscore desc 22 23 24 --計算每個人的平均成績 avg()聚合函數求平均值 25 select name, avg(score) avgscore from t_class2 group by name 26 27 28 --計算每一個人的單科最高成績 max()聚合函數求最大值 29 select name,max(score) maxscore from t_class2 group by name 30 31 32 --列出每一科成績最好的學生 33 34 select c2.name, c2.subject,c2.score from t_class2 c2 , 35 ( select subject, max(score) maxscore from t_class2 group by subject) c1 36 where c2.subject=c1.subject and c2.score=c1.maxscore