如何在查询中完成此操作?我在pandas数据框中处理结果,现在正在使用df.fillna(0)
。但是,我想直接在sql请求中这样做。
答案 0 :(得分:1)
在SQL查询中,您可以使用coalesce
。就是这样:
SELECT coalesce(column1,0)
from table
coalesce
的作用是获取第一个值而不是NULL
,在我的示例中,如果您在column1
中得到的值是NULL
,它将得到0,因此它返回第一个非NULL
参数。您可以将其与更多参数一起使用:
SELECT coalesce(column1,column2,0)
from table
如果column1
不为NULL,它将返回column1
。
如果column1
为NULL,而column2
不为NULL将返回column2
如果column1
为NULL并且column2
也为NULL,它将返回0
您可以阅读更多https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function_coalesce