Data między 2 innymi datami, bez względu na rok
Szukam czegoś takiego jak ta osobatutaj szukał, tylko chciałbym użyć MySQL. Poniższa tabela znajduje się w mojej bazie danych (uproszczona).
+------+------+------+------+
| id | name | first| last |
+------+------+------+------+
| 1 | John | 1020 | 0814 |
| 2 | Ram | 0827 | 0420 |
| 3 | Jack | 0506 | 0120 |
| 4 | Jill | 0405 | 0220 |
| 5 | Zara | 1201 | 1219 |
+------+------+------+------+
Przede wszystkim wpis musi być losowy, nie id 4 i chcę tylko 1 wpis. Sprawdziłem to:SELECT * FROM test WHERE id <> 4 ORDER BY rand() LIMIT 1
.
W tej tabeli kolumny „first” i „last” są datami sformatowanymi jako mmdd (obie liczby całkowite). Więc John jest dostępny przez większą część roku; od 20 października do 14 sierpnia. Zara z drugiej strony jest dostępna tylko przez krótki okres czasu; 1 grudnia do 19 grudnia.
Moje pytanie: jak zmienić zapytanie, aby wybrać tylko dostępne osoby? Nie mogę użyć „między”, ponieważ w przypadku Johna między 1020 a 0814 nie ma nic.
Po prostu nie mogę tego zrozumieć, muszą istnieć inni ludzie, którzy mają podobny problem ... Czy ktoś ma rozwiązanie?
Z poważaniem