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.最高成绩;




 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值