20. 显示选修课程数最多的学号及选修课程数最少的学号;
USE student GO
SELECT DISTINCT '选修最多的课程'=Sno,'选修课程数'=COUNT(*) FROM sc GROUP BY Sno
HAVING COUNT(*)>=ALL( ) GO
SELECT DISTINCT '选修最少的课程'=Sno,'选修课程数'=COUNT(*) FROM sc GROUP BY Sno
HAVING COUNT(*)<=ALL( ) GO
SELECT COUNT(Cno) FROM sc GROUP BY Sno
SELECT COUNT(Cno) FROM sc GROUP BY Sno
21. 显示各个院系男女生人数,其中在结果集中列标题分别指定为?院系名称、
男生人数、女生人数?;
USE student GO
SELECT DISTINCT '院系名称'=Sdept, '男生人数'=SUM(
CASE WHEN Ssex='男' THEN 1 ELSE 0 END ),'女生人数'=SUM(
CASE WHEN Ssex='女' THEN 1 ELSE 0 END ) FROM student GROUP BY Sdept GO
22. 列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;
USE student GO
SELECT DISTINCT Sno, AVG(Grade) FROM sc GROUP BY Sno
HAVING SUM(CASE WHEN Grade<=60 THEN 1 ELSE 0 END)>=2 GO
六、出现问题及解决办法
如:某些查询操作无法执行,如何解决?