如果mysql查询中的结果为null,如何将默认值设置为0

时间:2011-11-19 08:27:11

标签: mysql sql

我想生成一个查询,生成比例女孩比男孩。

为此,我使用以下查询。

SELECT(c_count_girls / c_count_boys)AS比率FROM place WHERE placeId = 1;

工作正常。但是每当c_count_girls = 0和c_count_boys = 0

的值时

然后这会产生如下结果: - ratio = null

但我希望在这种情况下结果应该是这样的: - ratio = 0

是任何这种类型的解决方案,所以我可以设置默认比率= 0如果结果为null。

请帮帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:6)

SELECT COALESCE((c_count_girls/c_count_boys), 0) AS ratio
FROM place WHERE placeId=1;

More Info about COALESCE

答案 1 :(得分:1)

试试这个:

表名称 - >性别,,,,, table-columns-> gender_id,gender_type

SQL查询:

select COALESCE(MAX(gender_id) , 0)+1 as max_gender_id_plus_one_fixed from gender

输出表:

max_user_id_plus_one_fixed

1