请教各位大神,如何在一个查询结果中 包含两个COUNT
sqlserver吧
全部回复
仅看楼主
level 1
神月💕 楼主
我现在有一个视图 三列是(课程名Cname,学号Sno,成绩grade)
一个count查询各课共有多少人有成绩 【select count(*)from view_XXX group by Cname】
第二个count查询多少人及格【select count(*) from view_XXX where grade>=60 group by Cname】
那么怎么才能将这两列放在一个查询结果中呢?拜托各位大神了[玫瑰]
2016年12月26日 04点12分 1
level 1
神月💕 楼主
好吧 用SUM解决了
Select Cname,count(*) as RS,sum(case when grade >=60 then 1 else 0 end) as RS2
from view_XXX
group by Cname
不过似乎想用两个count有点难呢
2016年12月26日 04点12分 2
level 1
可以用declare定义2个变量来解决
2016年12月29日 06点12分 3
level 1
declare @Cname int,@grade int
set @Cname = (select count(*) from view_XXX group by Cname)
set @grade = (select count(*) from view_XXX where grade>=60 group by Cname)
select @Cname,@grade
2016年12月29日 06点12分 4
level 1
select * from (select count(*)from view_XXX group by Cname ) as c1,(select count(*) from view_XXX where grade>=60 group by Cname) as c2
2018年01月24日 08点01分 5
不行啊
2019年04月11日 07点04分
@jnhfn 这么久的帖子了,有问题找我啊
2019年04月11日 07点04分
1