Leerraum in einer Reihe finden?

ronin

Erfahrenes Mitglied
Hallo zusammen.


Ich versuche mittels einer SQL-Abfrage einen Leerraum in einer Zahlenfolge zu finden.
Angenommen ich habe viele sortierte Datensätze die Nummern enthalten können, so suche ich die erste Nummer die in der Reihe nicht vorkommt.

Beispiel:
Ich habe die Zahlenreihe
0, 1, 2, 3, 5, 6, 7, 10
in dem Feld "rang".
Mit der Abfrage möchte ich nun die Zahl 4 finden, weil sie als erstes nicht in der Reihe auftaucht.

Beispiel 2:
Ich habe die Zahlenreihe
0, 1, 2, 3, 4, 5, 6, 7
in dem Feld "rang".
Mit der Abfrage möchte ich nun die Zahl 8 finden, weil sie als erstes nicht in der Reihe auftaucht.



Klar soweit?
Ich mache mir entweder zu viele Gedanken oder zu wenig. Aber nen Ergebnis hab ich noch nicht.
Danke und Grüße, Ronin
 
Hallo,

da du deinen Beitrag ins PHP-Forum geschrieben hast, vermute ich mal, dass du auch neben SQL PHP zur Verfügung hast.
Ich würde folgender Maßen vorgehen.

PHP:
$stmt="select rang from tabelle'";
$result = mysql_query($stmt) or die(mysql_error());
$i=0;	
while ($row = mysql_fetch_array($result,MYSQL_ASSOC)){
  extract($row);//in $rang steht die Zahl
  if ($i!=$rang){
    echo "erste fehlende Zahl: ".$i;
  }
  $i+=1;
}

Gruß, Loocie
 
Hi.

An und für sich ein Weg, allerdings etwas umständlich.
Die Tabelle hat mehr als 300.000 Datensätze und das wird ne blöde rumselectiererei. ;)

Wäre praktischer wenn es da nen Befehl für gibt.


Danke und Grüße, Ronin
 
Zurück