MSSQL数据库中同时查询全部人数、及格人数

MSSQL数据库中同时查询全部人数、及格人数,第1张

如果你要查询的是数目的话

(我用的是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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7595266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存