MySQL数据库(实验分组与排序)答案-武洪萍主编

MySQL数据库(实验分组与排序)答案-武洪萍主编

#153页:分组与排序
1、统计有学生选修的课程的门数
SELECT COUNT(DISTINCT cno)
#from course;
FROM sc;

2、计算"C01"课程的平均成绩
SELECT AVG(degree)
FROM sc
WHERE cno='C01';

3、查询选修了"C03"课程的学生的学号及其成绩,查询结果按分数降序排列
SELECT sno,degree
FROM sc
WHERE cno='C03'
ORDER BY degree DESC;
 
4、查询各个课程号及相应的选课人数
SELECT cno,COUNT(*) 选课人数
FROM sc
GROUP BY cno; 

5、统计每门课程的选课人数和最高分
SELECT cno 课程号,COUNT(*) 选课人数,MAX(degree) AS 最高分
FROM sc
GROUP BY cno;

6、统计每个学生的选课门数和考试总成绩,并按选课门数降序排列
SELECT sno,COUNT(*) 选课门数,SUM(degree) 总成绩
FROM sc
GROUP BY sno
ORDER BY COUNT(*) DESC;

7、查询选修了3门以上课程的学生学号
SELECT sno
FROM sc
GROUP BY sno
HAVING COUNT(*)>3;

8、查询成绩不及格的学生学号及课程号,并按成绩降序排列
SELECT sno,cno
FROM sc
WHERE degree<60
GROUP BY sno
ORDER BY degree DESC;

9、查询至少选修一门课程的学生学号
SELECT sno
FROM sc
GROUP BY sno
HAVING COUNT(*)>=1;

10、统计输出各系学生的人数
SELECT sdept,COUNT(*)
FROM student
GROUP BY sdept;

11、统计各系的男、女生人数
SELECT sdept,ssex,COUNT(*)
FROM student
GROUP BY sdept,ssex;

12、统计各班级的学生人数
SELECT bno,COUNT(*)
FROM student
GROUP BY bno;

13、统计各班的男、女生人数
SELECT bno,ssex,COUNT(*)
FROM student
GROUP BY bno,ssex;

14、统计各系的老师人数,并按人数降序排列
SELECT tdept,COUNT(*)
FROM teacher	
GROUP BY tdept
ORDER BY COUNT(*) DESC;

15、统计不及格人数超过10的课程号
SELECT cno 课程号,COUNT(*) 选修人数
FROM sc
GROUP BY cno
HAVING COUNT(*)>10; 

16、查询软件工程系的男生信息,查询结果按出生日期升序排序,出生日期相同的按地址降序排序
SELECT *
FROM student
WHERE sdept='软件系' AND ssex='男'
ORDER BY sbirthday ASC, saddress DESC;
  • 29
    点赞
  • 178
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值