作业帮 > 数学 > 作业

select sc.cid as 课程ID,course.name as 课程名 ,SUM(CASE WHEN scor

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/05/15 07:39:27
select sc.cid as 课程ID,course.name as 课程名 ,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0
这是什么语法啊,
以下是全文
-- 23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[
select sc.cid as 课程ID,course.name as 课程名 ,SUM(CASE WHEN scor
首先,简单说一下case when语法:1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加4、END 后跟别名

下面说一下你的语句:根据sc表中cid 和 course表中name 分组,然后对不同分数范围进行人数统计.
以SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85]为例,当score在85和100之间时,此条记录在总人数中增加1,否则为0(也就是不增加),从而达到将这一分数段人数求和的目的.
其他的也是同样道理.

希望对你有帮助.