(我用的是MySQL)
查询全部人数 :
select count(*) from reports
及格人数:
//如果score表示的是分数
select count(*) from reports where score>60
如果你要查询的是所有的记录的话:
查询全部人数:
select * from reports
查询及格人数:
select *from reports where score>60
你试试下面的是否可行?
我在MySQL下试过,可行!
select *,' ',if(score>=60,cno,'') as 'cno',if(score>=60,sno,'') as 'sno',if(score>=60,score,'') as 'score' from reports
两个结果之间以' '分隔,
if用于判断,如果及格则显示相应的数据,否则显示''
如果你发现if语句不能用的话,就换成相应case语句吧,如第一个if可改为case when score >=60 then cno else '' end
/* 查询 name(姓名) 每个人总分/3 另起名为 avg_fen 分组查询GROUP BY `name`(用名字分组) having (条件) avg_fen平均分小于60分*/SELECT `name`,SUM(a+b+c)/3 as avg_fen FROM fen GROUP BY `name` having avg_fen<60
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)