求一段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列出每门课程名称和平均成绩,并按照成绩排序 展开
学生表 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列出每门课程名称和平均成绩,并按照成绩排序 展开
1个回答
展开全部
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 ;
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
我自己写的对么?
追答
给您的是plsql , 你用的是ansi sql ,语法上都是对的,不用担心
order by 2 是指用select 字段的第二个作为排序依据,是偷懒的写法, 如果是要交作业是应该乖乖写字段名称的[ avg(chosen_class.grade) ]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询