2017-10-06 65 views
1

我有一個表 「小屋」 包含字段 「SBC750」(整數)和 「Evaso」(TINYINT)問題與SUM在MySQL

字段Evaso可以是1,0或Null

I」我想找所有sbc750的總和,其中Evaso不是1

我試着用

select sum(sbc750) from cabine where evaso<>1; 

但結果是NULL:爲什麼???

如果我使用

select sum(sbc750) from cabine 

我得到55,如果我用

select sum(sbc750) from cabine where evaso=1 

我獲得34!

所以結果可能是21而不是空值。請幫我

+1

什麼SELECT SUM(sbc750)FROM CABINE WHERE evaso> 1 OR從CABINE evaso <1 –

+0

'SELECT SUM(sbc750)其中evaso IS NULL' – lad2025

+0

可能與:是否有任何差異IS NULL和之間= NULL](https://stackoverflow.com/questions/3777230/is-there-any-difference-between-is-null-and-null#3777250) – lad2025

回答

1

隨着NULL-safe平等的經營者,你應該得到想要的結果:

select sum(sbc750) from cabine where not evaso<=>1; 

另見here以供參考。

1
SELECT sum(sbc750) FROM cabine where evaso is null or evaso<>1;