方法一
亲测:
where
if(type =5,order_type=1,order_type=2)
聚合中使用
DB::raw('sum(if(record_type=1,goods_num,0))as in_num')
sum函数中使用if判断条件格式为:sum(if(条件,列值,0))
注解:sum是求和函数,条件为真时,执行列值(字段名)求和也就是累加,条件为假时为0求和(当然还是0)
1.单条件判断格式,sum(if(条件字段名=值,需要计算sum的字段名,0))
2.多条件判断格式,sum(if(条件字段名>值 AND 条件字段名>值 AND 条件字段名=值,1,0))
方法二
用 case when then 代替,else if
CASE type WHEN 5 THEN
order_id =1
WHEN 3 THEN
order_id =2
END
表达:如果type=5 order_type等于1,否则等于2