Heim > Backend-Entwicklung > PHP-Tutorial > So finden Sie die fehlenden Daten heraus

So finden Sie die fehlenden Daten heraus

WBOY
Freigeben: 2016-09-24 09:15:08
Original
1335 Leute haben es durchsucht

Zum Beispiel habe ich derzeit 999 Daten mit IDs im Bereich von 1 bis 1000. Wie kann ich SQL-Anweisungen verwenden, um die fehlende ID herauszufinden?
PS: Was passiert, wenn zwei Daten fehlen?

Antwortinhalt:

Zum Beispiel habe ich derzeit 999 Daten mit IDs im Bereich von 1 bis 1000. Wie kann ich SQL-Anweisungen verwenden, um die fehlende ID herauszufinden?
PS: Was passiert, wenn zwei Daten fehlen?

<code>(1+2+...+1000) - sum(id)  不就行了吗?</code>
Nach dem Login kopieren
<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>
Nach dem Login kopieren

Es wird nicht empfohlen, die SQL-Anweisung zum Ausführen solch komplexer Vorgänge zu verwenden, anstatt die Belastung der Datenbank zu erhöhen, ist es besser, sie PHP tragen zu lassen~

<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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage