sum(case when条件.then结果1.else结果2)as命名1
为什么有些这个里面的then后面一般写的是字段名?和else后面写的是数字?我真的搞不懂
字段名就表示把字段查询出来的结果作为值,直接写数字就是把数字作为值,最后再sum
根据实际场景需要而定,sql代码是贴合自然语言的,不要机械式的去寻找规律。
then 或者 else后面,并没有限定一定是字段或者一定是数字,甚至还可以是个公式,举个例子:
如果身高大于1.7m,则每高0.1m计1分;否则,统一记0分
case when 身高>1.7 then (身高-1.7)*1 else 0 end