• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Suche SELECT-Query

Code:
mysql> select uid from users where uid>=1500 and uid<=1509 order by uid;

+------+
| uid  |
+------+
| 1500 |
| 1501 |
| 1502 |
| 1508 |
| 1509 |
+------+

Weiß wer, wie ich nur mit SQL (d.h. ohne Hilfe des umgebenden
C-Programmes) die nächste freie UID in einem Bereich (hier 1500-1509) finde? In
obigem Beispiel wäre das 1503, aber ich komm auf kein SELECT-Befehl. Hat jemand
eine Idee? Ist das überhaupt mit SQL möglich?
 

panamajo

Guru
Schau mal die letzte User-Annotation auf http://dev.mysql.com/doc/refman/5.0/en/functions.html an, der letzte Eintrag bzgl. DELTA Funktion dürfte der richtige Ansatz sein.
 

ninguno

Member
irgendwas in der art sollte gehen
Code:
select min(uid)+1 from users u1 where not exists (select uid from users u2 where u2.uid=u1.uid+1) and uid between 1500 and 1509;
 
Oben