急用啊!!SQL语句查询!!查询选课门数最多的详细信息,包括选选修门数!感谢给位了!!

还有两个问题是统计每个老师的开课门数!!和统计选修人数在60人以上的课程详细信息!!大家能回答多少是多少~~~谢谢谢谢谢谢了~~~~~有三张表!学生表:学号姓名所在院系课... 还有两个问题是
统计每个老师的开课门数!!
和 统计选修人数在60人以上的课程详细信息!!
大家能回答多少是多少~~~谢谢谢谢谢谢了~~~~~
有三张表!
学生表:学号 姓名 所在院系
课程表:课程编号 课程类别 课程名称
教师表:任课老师编号 任课老师所在院系 教授的课程编号
选课表:选修该课程的学生学号 选课的名称和选课的编号 该学生的成绩
展开
 我来答
flyingFish211
2011-01-04 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
Try these,

1)查询选课门数最多的详细信息,包括选选修门数!
SELECT S.学号, S.姓名, S.所在院系, t.cnt
FROM 学生表 S,
(SELECT TOP 1 学号, count(编号) AS cnt
FROM 选课表 group by 学号 ORDER BY count(编号) DESC) t
WHERE S.学号 = t.学号

2)统计每个老师的开课门数!!
SELECT 任课老师编号, COUNT(课程编号)
FROM 课程表
GROUP BY 任课老师编号

3) 统计选修人数在60人以上的课程详细信息!!
SELECT *
FROM 课程表
WHERE 课程编号 IN (SELECT 编号 FROM 选课表 GROUP BY 编号 HAVING COUNT(学生学号) > 60)
云计算懂管理的小司
2011-01-04 · TA获得超过1145个赞
知道小有建树答主
回答量:756
采纳率:100%
帮助的人:441万
展开全部
1.查询选课门数最多的详细信息,包括选选修门数
SELECTa1.学号,a1.姓名,a1.所在院系
FROM 学生表 a1,
(SELECT TOP 1 学号, count(编号) num
FROM 选课表 group by 学号 ORDER BY count(编号) DESC) a2
WHERE a1.学号 =a2.学号;
2.统计每个老师开课门数;
select a2.任课老师编号,count(a1.课程名称) from 课程表 a1,教师表 a2 group by a1.课程名称,a2.任课老师编号;
3.select a1.选课的名称和选课的编号,a2.学号,a2.姓名,a2.所在院系 from 学生表 a2,选课表 a1 group by count(a1.选课的名称和选课的编号) having count(a1.选课的名称和选课的编号)>60;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woyaoaiaia
2011-01-04 · TA获得超过764个赞
知道小有建树答主
回答量:479
采纳率:0%
帮助的人:160万
展开全部
你这里讲的选选修门数是不是指间接先修课(先修课的先修课),如果是的话你大可采用自连接的方式把对应先修课的先修课找出来。
最后那两题用分组的思想来做就可以了,就比如说统计每个老师的开课门数,你按老师特有的属性(如:职工号)来进行分组,然后用count函数进行统计,因为一行表示的就是一门课程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8ac6d36fb
2011-01-04 · TA获得超过621个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:184万
展开全部
Select 任课老师编号,count(1) from 课程表 group by 任课老师编号

select * from 课程表 a where exists (
Select 1 from 选课表 where 课程编号=a.课程编号 group by course having count(1)>=60)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山炮小二黑
2011-01-04 · TA获得超过357个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:178万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式