Datum zwischen 2 anderen Daten, ohne Berücksichtigung des Jahres
Ich suche so etwas wie die PersonHier wurde gesucht, nur ich würde gerne MySQL benutzen. Die folgende Tabelle finden Sie in meiner Datenbank (vereinfacht).
+------+------+------+------+
| id | name | first| last |
+------+------+------+------+
| 1 | John | 1020 | 0814 |
| 2 | Ram | 0827 | 0420 |
| 3 | Jack | 0506 | 0120 |
| 4 | Jill | 0405 | 0220 |
| 5 | Zara | 1201 | 1219 |
+------+------+------+------+
Zuallererst muss der Eintrag zufällig sein, nicht ID 4 und ich möchte nur 1 Eintrag. Das habe ich herausgefunden:SELECT * FROM test WHERE id <> 4 ORDER BY rand() LIMIT 1
.
In dieser Tabelle sind die Spalten 'first' und 'last' als mmdd (beide ganze Zahlen) formatierte Daten. John ist also fast das ganze Jahr über verfügbar. vom 20. Oktober bis 14. August. Zara hingegen ist nur für kurze Zeit verfügbar. 1. Dezember bis 19. Dezember.
Meine Frage: Wie ändere ich meine Abfrage so, dass nur die verfügbaren Personen ausgewählt werden? Ich kann 'between' nicht verwenden, da es in Johns Fall nichts zwischen 1020 und 0814 gibt.
Ich kann es einfach nicht herausfinden, es muss andere Leute geben, die ein ähnliches Problem haben ... Hat jemand eine Lösung?
Mit freundlichen Grüßen