Tom: Lücken finden in einer SQL-Tabelle

Beitrag lesen

Hello,

Mit MySQL 5.x getestet:

mit diesem Statement kannst Du Lücken im Nummernkreis finden

select a.id from zahl a
   left join zahl b on (b.id = a.id +1)
   where b.id is NULL
   order by a.id;

Liefert die ID, _nach_ der eine Lücke besteht.
Die Lücke kann durchaus größer als ein ordinales Element sein.

Die letzte gefundene ID ist dann freilich die größte vorhandene, denn danach klafft dann die Mammutlücke...

Ob _vor_ der ersten vorhandenen ID Elemente im Nummernkreis fehlen, musst Du in einem zweiten Statement herausfinden.

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de