使用mysql 一个数据库中有俩个表: student(学生表) 和score(成绩表)

使用mysql 一个数据库中有俩个表: student(学生表) 和score(成绩表),第1张

-------第一步,求总成绩(我把总成绩放在一个视图里了)

create

view

tg

as

select

学号,sum(成绩)

t

from

成绩表

group

by

学号

-------第二步,将总成绩导入到学生表(先运行上面代码)

update

学生表

set

总分=

tg.t

from

学生表,tg

where

学生表.学号=

tg.学号

------第三步,排名次

select

学号,姓名,总分,isnull((select

sum(1)

from

学生表

where

总分>A.总分),0)+1

名次

from

学生表

as

A

order

by

(select

sum(1)

from

学生表

where

总分>=A.部分)

-----------最后,嘿嘿,我能力不足,没做触发器了

1,ClassInfo主表,StudentInfo从表

2.create table StudentInfo

(

StudentId char(10) primary key,

StudentName varchar(20) not null,

sex cahr(1),

EntranceDate smalldatetime,

StudentMark float,

ClasstId char(10)

)--创建表完成,,添加约束。。

alter table StudentInfo

add constraint uq_stu unique(StudentName),

add constraint fk_stu foreign key (Classtid) references ClassInfo(ClasstId)

3.select top 10* from classinfo oorder by ClassNumber desc

select avg(StudentMark) from studentinfo a,classinfo b where a.classtid=b.classtid and b.classtid='G0208’'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9820048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存