我有一个客户表,我的客户希望不从这个表中物理删除任何记录,因此我使用TINYINT字段“IsDeleted”来跟踪删除的客户。为什么Mysql查询计数不同?
现在的情况下,我需要排除中删除的客户即时通讯,但是当我累了下面的查询它给我少的记录
select count(*) from customer where IsDeleted <> 1; (Count = 1477)
号那么下面
select count(*) from customer where (IsDeleted = 0 or IsDeleted is null); (Count = 1552)
为什么上面的查询计数是不同的? 为什么“NULL”值不计入“IsDeleted <> 1”检查?
请建议。
首先尝试按照IsDeleted对结果进行分组,并查看您有哪些不同的值isDeleted –
在右侧面板中更改查询,以便您可以看到使用int和varchar列类型。 http://www.sqlfiddle.com/#!2/7bf0a/5 –