求一条SQL语句查出三年级学生的总成绩排名:学生姓名,老师姓名,所属班级,总分,排名
学生表a:编号,名称老师表b:编号,名称班级表c:编号,名称,年级学生班级表d:id,学生编号,班级编号老师班级表e:id,老师编号,班级编号成绩表f:id,考试科目,学...
学生表a:编号,名称 老师表b:编号,名称 班级表c:编号,名称,年级
学生班级表d:id,学生编号,班级编号 老师班级表e:id,老师编号,班级编号
成绩表f:id,考试科目,学生编号,考试成绩 展开
学生班级表d:id,学生编号,班级编号 老师班级表e:id,老师编号,班级编号
成绩表f:id,考试科目,学生编号,考试成绩 展开
2个回答
展开全部
select
学生表a.名称 as 学生姓名,
老师表b.名称 as 老师姓名,
班级表c.名称 as 所属班级,
总分表g.总分 as 总分,
rownum as 排名
from
(select
学生编号 as 学生编号,
sum(考试成绩) as 总分
from
成绩表f
group by 学生编号)总分表g
inner join
学生班级表d
on
学生班级表d.学生编号 = 总分表g.学生编号
inner join
老师班级表e
on
老师班级表e.班级编号 = 学生班级表d.班级编号
inner join
班级表c
on
班级表c.编号 = 老师班级表e.班级编号
inner join
学生表a
on
学生表a.编号 = 学生班级表d.学生编号
inner join
老师表b
on
老师表b.编号 = 老师班级表e.老师编号
where
班级表c.年级 = '三年级'
order by 总分表g.总分 desc
不同数据库取得rownum的方法不一样注意变下
追问
为什么排名的顺序是乱的
推荐于2017-09-02
展开全部
求一条SQL语句查出三年级学生的总成绩排名:学生姓名,老师姓名,所属班级,总分,排名
select
学生表a.名称 as 学生姓名,
老师表b.名称 as 老师姓名,
班级表c.名称 as 所属班级,
总分表g.总分 as 总分,
rownum as 排名
from
(select
学生编号 as 学生编号,
sum(考试成绩) as 总分
from
成绩表f
group by 学生编号)总分表g
inner join
学生班级表d
on
学生班级表d.学生编号 = 总分表g.学生编号
inner join
老师班级表e
on
老师班级表e.班级编号 = 学生班级表d.班级编号
inner join
班级表c
on
班级表c.编号 = 老师班级表e.班级编号
inner join
学生表a
on
学生表a.编号 = 学生班级表d.学生编号
inner join
老师表b
on
老师表b.编号 = 老师班级表e.老师编号
where
班级表c.年级 = '三年级'
order by 总分表g.总分 desc
不同数据库取得rownum的方法不一样注意变下
select
学生表a.名称 as 学生姓名,
老师表b.名称 as 老师姓名,
班级表c.名称 as 所属班级,
总分表g.总分 as 总分,
rownum as 排名
from
(select
学生编号 as 学生编号,
sum(考试成绩) as 总分
from
成绩表f
group by 学生编号)总分表g
inner join
学生班级表d
on
学生班级表d.学生编号 = 总分表g.学生编号
inner join
老师班级表e
on
老师班级表e.班级编号 = 学生班级表d.班级编号
inner join
班级表c
on
班级表c.编号 = 老师班级表e.班级编号
inner join
学生表a
on
学生表a.编号 = 学生班级表d.学生编号
inner join
老师表b
on
老师表b.编号 = 老师班级表e.老师编号
where
班级表c.年级 = '三年级'
order by 总分表g.总分 desc
不同数据库取得rownum的方法不一样注意变下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |