5. 數據庫題(以個人熟悉數據庫爲準、按要求寫出sql) (1) 計算每個人的總成績並排名(要求顯示字段:學號,姓名,總成績) (2) 計算每個人單科的最高成績(要求顯示字段: 學號,姓名,課程,最

5. 數據庫題(以個人熟悉數據庫爲準、按要求寫出sql)

(1) 計算每個人的總成績並排名(要求顯示字段:學號,姓名,總成績)
(2) 計算每個人單科的最高成績(要求顯示字段: 學號,姓名,課程,最高成績)
(3) 列出各門課程成績最好的學生(要求顯示字段: 學號,姓名,課程,成績)
  [分值:5]

 

use db2;

create table t_student_score(
stuid int(11),
name varchar(50),
subject varchar(50),
score int(11)
) 
delete from t_student_score;
select * from t_student_score;

insert into t_student_score values(10001,'張三','語文',89);
insert into t_student_score values(10001,'張三','數學',95);
insert into t_student_score values(10001,'張三','外語',70);
insert into t_student_score values(10001,'李四','語文',95);
insert into t_student_score values(10001,'李四','數學',80);
insert into t_student_score values(10001,'李四','外語',75);
insert into t_student_score values(10001,'王五','語文',85);
insert into t_student_score values(10001,'王五','數學',90);
insert into t_student_score values(10001,'王五','外語',70);

select  stuid 學號, name 姓名,sum(score) 總成績 from t_student_score group by name order by 總成績 ;

select  t1.stuid 學號,t1.name 姓名,t1.subject 課程,t1.score 成績 from t_student_score t1,
  (select name,max(score) 最高成績 from t_student_score group by name)t2
  where t1.name=t2.name and t1.score=t2.最高成績;


select t1.stuid 學號,t1.name 姓名,t1.subject 課程,t1.score 成績 from t_student_score t1,
 (select subject,max(score) 最高成績 from t_student_score group by subject) t2
 where t1.subject=t2.subject and t1.score=t2.最高成績;




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章