在包含5000条记录的mysql查询中, 在表中:subscriptions [id autoincrement int,name varchar64,archive tinyint4]
我正在传递以下sql
$sqlg = "SELECT * FROM subscriptions where archive != 1 order by id desc limit 0,24";
以上回报 3061 - 3012之间的记录
如果我删除where子句,
SELECT * FROM subscriptions order by id desc
它返回,记录在5066 - 5037之间,这是我正在寻找的具有NULL或0值的存档的正确结果。 任何想法为什么会这样?
答案 0 :(得分:1)
NULL
与0
不同。它只是未知,所以如果您还要检查NULL
,请使用IS NULL
SELECT *
FROM subscriptions
where archive = 0 OR archive IS NULL
order by id desc
limit 0, 24