求一段sql语句,大神帮忙

三个表:学生表student:student_idint//学生IDstudent_namevarchar2//学生姓名课程表class:cls_idint//课程idc... 三个表:
学生表 student:
student_id int //学生ID
student_name varchar2 //学生姓名

课程表 class:
cls_id int //课程id
cls_name varchar2 //课程名称

选课表 chosen_class
id int //选课id
student_id int //学生id
cls_id int //课程id
grade int //成绩

求一段sql列出每门课程名称和平均成绩,并按照成绩排序
展开
 我来答
dallandallan
2014-04-15
知道答主
回答量:2
采纳率:0%
帮助的人:2.5万
展开全部
select b. cls_name , avg(grade)
from chosen_class a, class b
where b.cls_id = a.cls_id
group by b.cls_name
order by 2 ;
追问
order by 2 ;

这个2是什么意思?
Select class.c_name ,avg(chosen_class.grade) from class left join chosen_class on class.c_id =chosen_class.c_id order by chosen_class.grade
我自己写的对么?
追答
  1. 给您的是plsql , 你用的是ansi sql ,语法上都是对的,不用担心

  2. order by 2 是指用select 字段的第二个作为排序依据,是偷懒的写法, 如果是要交作业是应该乖乖写字段名称的[ avg(chosen_class.grade) ]

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式