我有一个列,其中包含某些行中的空值。
我想通过在sqlite中编写一个select语句来对列值求和。
如何编写语句,以便将空值视为0。
我当前的sqlite语句:从table1中选择sum(amount) 在返回null时给出错误。
请帮忙。
答案 0 :(得分:3)
Accordgin to SQLite documentation:
sum()和total()聚合函数返回组中所有非NULL值的总和。如果没有非NULL输入行,则sum()返回NULL但total()返回0.0。除了
之外,NULL对于没有行的总和通常不是有用的结果
所以我猜你最好使用total()而不是sum(),以防你期望结果为'非null'。
答案 1 :(得分:1)
您可以使用ifnull(x,y)或coalesce(x,y,z,...)函数。它们中的每一个都从左到右返回参数列表中的第一个非空值。 ifnull只有两个参数,而coalesce至少有两个。
从table1中选择sum(ifnull(amount,0))