我需要编写一个查询来显示数据库表(书)中缺少的数字,它可以是一个或几个缺失的数字。
请注意序列中缺少值1,5,7,8和10,我尝试但我的解决方案不起作用。现在我正在寻找是否有人可以帮助我,我是这样的新人。
编辑: mysql
SELECT DISTINCT number FROM book
WHERE number BETWEEN 1 and (SELECT max(id) FROM book)
AND number NOT IN (SELECT id FROM book)
提前致谢。
此致 Kowts
答案 0 :(得分:3)
这个PHP应该可以解决问题(假设$numbers
是一个包含数据库中数字的数组)。
$compare_array = range(1, max($numbers));
$missing_values = array_diff($compare_array, $numbers);