查询选课人数最多和第二多的课程名称和任课老师姓名 (函数,连接)

v_stu_lesson是视图(studentnum,studentname,lessonnum,lessonname,credit,teachernum,teacher... v_stu_lesson是视图 (studentnum,studentname,lessonnum,lessonname,credit,teachernum,teachername)
求高手斧正。
展开
 我来答
帐号已注销
2021-06-02 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:160万
展开全部

select top 2 lessonname, teachername, count(1)

from v_stu_lesson

group by lessonname, teachername

order by count(1) desc;

或:

select c.Cno,s.Sname,s.Sno,选课人数 from Course c 

left join SC on c.cno=sc.cno 

left join student s on s.Sno=SC.Sno

left join (select c.cno, COUNT(s.Sno) 选课人数 from 

Course c left join SC on c.cno=sc.cno 

left join student s on s.Sno=SC.Sno 

group by c.Cno) as T ON T.Cno=c.Cno

视图含义

从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系埋亮绝统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。键弊从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样。

以上内容弯姿参考:百度百科-视图

小狂中E
2013-11-12 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1014万
展开全部
select top 2 lessonname, teachername, count(1)
from v_stu_lesson
group by lessonname, teachername
order by count(1) desc;
追问
不好意思,我用的是oracle 不支持top命令。
追答
with t as (select lessonname, teachername, count(1)
from v_stu_lesson
group by lessonname, teachername
order by count(1) desc)
select * from t where rownum<=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e460cb1
2013-11-12
知道答主
回答量:2
采纳率:0%
帮助的人:4.9万
展开全部

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2bf248f
2020-06-16
知道答主
回答量:1
采纳率:0%
帮助的人:593
展开全部
题主是武大的吗hhh
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式