>  기사  >  백엔드 개발  >  누락된 데이터를 찾는 방법

누락된 데이터를 찾는 방법

WBOY
WBOY원래의
2016-09-24 09:15:081300검색

예를 들어, 현재 1부터 1000까지의 ID를 가진 999개의 데이터가 있습니다. SQL 문을 사용하여 누락된 ID를 찾으려면 어떻게 해야 합니까?
PS: 두 개의 데이터가 누락되면 어떻게 되나요?

답글 내용:

예를 들어, 현재 1부터 1000까지의 ID를 가진 999개의 데이터가 있습니다. SQL 문을 사용하여 누락된 ID를 찾으려면 어떻게 해야 합니까?
PS: 두 개의 데이터가 누락되면 어떻게 되나요?

<code>(1+2+...+1000) - sum(id)  不就行了吗?</code>
<code>第一个
select t.id from (select @rownum:=@rownum+1 no,id  from table, 
(SELECT @rownum:=0) r)t where t.no - t.id = 1 limit 1
第二个
select t.id from (select @rownum:=@rownum+1 no,id  from table, 
(SELECT @rownum:=0) r)t where t.no - t.id = 2 limit 1</code>

이렇게 복잡한 작업을 수행할 때는 SQL 문을 사용하지 않는 것이 좋습니다. 데이터베이스에 부담을 주기보다는 PHP이 부담하도록 하는 것이 좋습니다~

<code><?php
$arr = [1,4,8,9,10,20]; // 假设这是从数据库中读取出来的ID数组
$res = [];
for ($i = 0; $i < count($arr)-1; $i++) {
    if (($num = $arr[$i+1] - $arr[$i]) > 1) {
        for ($j = 1; $j < $num; $j++) {
            $res[] = $arr[$i] + $j;
        }
    }
}

var_dump($res);</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.