在MySQL中,此查询可能会抛出被零除的错误:

SELECT ROUND(noOfBoys / noOfGirls) AS ration
FROM student;

如果noOfGirls0,则计算将失败。

处理此问题的最佳方法是什么?

我想有条件地将noOfGirls的值更改为1,使其等于0

有没有更好的办法?

最佳答案

是的,您可以做一个案例:

select case when noOfGirls=0 then noOfBoys
       else  round(noOfBoys/noOfGirls) end as ration
from student;

但是您可能想要:
select case when noOfGirls=0 then 1
       else  round(noOfBoys/noOfGirls) end as ration
from student;

09-10 02:45