sqlserver sum 和count在关于进行统计时的区别

时间:2023-01-16 00:47:58

    sum是对内容的数量进行相加,count 对表行数 对象进行统计

在使用 case 时,如

select subject,
count(case when score>80 then score else null end) 优,
count(case when score<80 and score>59 then score else null end) 优,
count(case when score<60 then score else null end) 优
from stuscore group by [subject]

select * from stuscore

select subject,
sum(case when score>80 then score else 1 end) 优,
sum(case when score<80 and score>59 then score else 1end) 优,
sum(case when score<60 then score else 1end) 优
from stuscore group by [subject]

select * from stuscore

这个时候 对sum 进行返回的是1,而对count 返回的是一列(null),或者说是一个行对象进行对数量的统计