oracle的SQL语句中,查询每个学生的的学号、姓名、平均成绩,结果按平均成绩降序排列。

2024-11-02 23:04:09
推荐回答(3个)
回答(1):

你 select 后面只写了sno。。。没有avg成绩,但是最后group by 了,当然会报错。还有你的sno没有指明是哪个表的,后面带了x和y,sc表也需要指明。
平均成绩也没搞明白。。

那只能这样
select a.sno,a.name,avg(b.score) as avgscores from sc a,course b where a.sno =b.sno and b.cno in ('001','002') group by a.sno,a.name order by avgscores desc

回答(2):

sno表示的是平均成绩??
group by 是分组
order by是排序
select sno from table where 条件 order by 字段名 desc --降序排列

回答(3):

根据你的描述应该会有三张表,把这三张表用select * from查询出来截图看一下,那样写出来的问题就少点,你这样提供信息不怎么全,重新补充一下问题吧,
大致就是按照学号分组,求个平均成绩,排序一下就可以。