
第一步:确定要输入学生的编号和姓名,创建数据库文件(如xls文件或txt文件)
第二步:利用for循环语句和xlsread函数,读取xls数据库文件每单元格的数据信息
第三步:输入每个学生当前的状态,如没有缺考,用1表示;缺考,用0表示;并用 xlswrite函数,将该信息写入指定的单元格内
第四步:读取xls数据库文件,并赋值给A变量,用n=length(A)-sun(A),其差值即为缺考学生人数
1、 查询成绩大于80 分的选课情况,包括学号,课号,成绩:SELECT Student.ID, Course.ID, GradeFROM Student, Course, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = Registration.IDAND Grade >80
2、查询所有学生的姓名,性别,年龄:
SELECT Name, Gender, AgeFROM Student
3、 查询姓名为“XX 宁”的学生基本信息:
SELECT *FROM StudentWHERE Name = 'XX 宁'
4、 查询学分为2分或5分的课程名和学分:
SELECT Name, CreditFROM CourseWHERE Credit IN (2, 5)
5、统计选修了 C03 号课程的学生人数、缺考学生人数:
SELECT COUNT(*) AS Total, SUM(CASE WHEN Grade IS NULL THEN 1 ELSE 0 END) AS AbsentFROM Student, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = 'C03'
6、 查询平均成绩大于等于 70 分的学生学号和对应平均成绩:
SELECT Student.ID, AVG(Grade)FROM Student, Course, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = Registration.IDGROUP BY Student.IDHAVING AVG(Grade) >= 70
7、 查询学生的选课情况,包括姓名、课名、成绩:
SELECT Student.Name, Course.Name, GradeFROM Student, Course, RegistrationWHERE Student.ID = Registration.ID AND Course.ID = Registration.ID
8、 查询与“工业设计”同在一个系的其他专业信息,包括专业号,专业名:
SELECT Department.ID, Department.NameFROM Department, MajorWHERE Department.ID = Major.ID AND Major.Name = '工业设计'AND Department.ID != (SELECT ID FROM Major WHERE Name = '工业设计')
呵呵,你这是一堆的问题呀:优秀、良好……各级别的(人数):
首先,假设你的分数是 百分制,优秀即高于85分等。。。。
因此:
select 课程,count(*) as 人数,‘优秀’ as 类别
from 成绩
where 分数>85
group by 课程
union
select 课程,count(*) as 人数,‘良好’ as 类别
from 成绩
where 分数>70 and 分数<=85
group by 课程
union
select 课程,count(*) as 人数,‘及格’ as 类别
from 成绩
where 分数>60 and 分数<=70
group by 课程
分布情况及百分比:
得根据上面的结果来再计算。
先弄个总人数的视图:select count(*) as 总人数 from 成绩
再计算百分比:
select 课程,人数/总人数*100% as 百分比 from 各级别人数 group by 课程,类别
其他的统计也就雷同了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)