查询选课人数最多和第二多的课程名称和任课老师姓名 (函数,连接)
求高手斧正。 展开
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语句组成的查询定义的虚拟表。键弊从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样。
以上内容弯姿参考:百度百科-视图
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