Ich war dort.
FOR ORACLE:
Ich fand das äußerst nützlich vor einiger Zeit im Netz abgefragt und notiert, aber die Seite fällt mir jetzt nicht mehr ein, Sie können nach "GAP ANALYSIS"
suchen bei Google.
SELECT CASE
WHEN ids + 1 = lead_no - 1 THEN TO_CHAR (ids +1)
ELSE TO_CHAR (ids + 1) || '-' || TO_CHAR (lead_no - 1)
END
Missing_track_no
FROM (SELECT ids,
LEAD (ids, 1, NULL)
OVER (ORDER BY ids ASC)
lead_no
FROM YOURTABLE
)
WHERE lead_no != ids + 1
Hier ist das Ergebnis:
MISSING _TRACK_NO
-----------------
6
Wenn es mehrere Lücken gäbe, sagen wir 2,6,7,9, dann wäre es:
MISSING _TRACK_NO
-----------------
2
6-7
9