编写sql时,数据汇总出来后,有些数据出现分母为0时报异常了,比如我们计算客单价指标,销售总额除以下单人数 sum(gmv)/count(distinct user_id),这时候count(distinct user_id) 有可能出现为0的情况,要是出现0就会报异常。
这时候该怎么处理呢?可以利用case when ,先判断count(distinct user_id) 是否为0 ,要是为0,直接返回0,要是不是,再用销售总额除以下单人数
select case when count(distinct user_id)=0 then 0 else sum(gmv)/count(distinct user_id) end。
简单来说就是select case when b=0 then 0 else a/b end。#程序员##大数据#