SUM(CASE WHEN ISNULL(A.Rec
编辑: admin 2017-23-02
-
4
A表里ReceiveQty大于0,值为1,否则为0,
然后把这些1,0加起来,当成一列(SumReceiveRolls)查询出来.
类似问题
类似问题1:IsNull(1) "0" :IsNull(0) "0" :
条件表达式?为真的结果 :为假的结果
:叫三目运算符.
如果 1是null的话,则为0,否则为1
类似问题2: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],[[数学科目]
首先,简单说一下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(也就是不增加),从而达到将这一分数段人数求和的目的.
其他的也是同样道理.
希望对你有帮助.
类似问题3:SQL isnull( )函数的用法.比如isnull(a,' ')='[数学科目]
举个例子
表table_1中字段A有3行数据,分别是1,2,NULL
select ISNULL(A,NULL)=0 from table_1
显示结果
A
1
2
0
为NULL的那行数据,查询结果不是NULL,而是0
类似问题4:case 1:sum=a*pow((1+0.63%),12);break;这句错在哪啊?[数学科目]
百分号不识别.
sum=a*pow((1+0.63/100),12);