2017-10-06 64 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;