2015-05-18 46 views
-2

我需要编写一个查询以显示数据库表(书)中缺少的数字,它可以是一个或多个缺失的数字。如何使用php mysql查找序列(表)中的缺失值(数字)

enter image description here

注意值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

+1

包括你到目前为止所尝试的? – HaveNoDisplayName

回答

3

这个PHP应该做的伎俩(假设$numbers从数据库中包含数字的数组)。

$compare_array = range(1, max($numbers)); 
$missing_values = array_diff($compare_array, $numbers); 
+0

嗯...好吧,我会看看我能做些什么。谢谢 – Kowts