Дата между 2 другими датами, независимо от года

Я ищу что-то вроде человекаВот искал, только я хотел бы использовать MySQL. Таблица ниже - это то, что вы найдете в моей базе данных (упрощенно).

+------+------+------+------+
| id   | name | first| last |
+------+------+------+------+
|    1 | John | 1020 | 0814 |
|    2 | Ram  | 0827 | 0420 |
|    3 | Jack | 0506 | 0120 |
|    4 | Jill | 0405 | 0220 |
|    5 | Zara | 1201 | 1219 |
+------+------+------+------+

Прежде всего, запись должна быть случайной, а не id 4, и я хочу только 1 запись. Я решил это:SELECT * FROM test WHERE id <> 4 ORDER BY rand() LIMIT 1.

В этой таблице столбцы 'first' и 'last' представляют собой даты в формате mmdd (оба целых числа). Итак, Джон доступен большую часть года; с 20 октября по 14 августа. Зара, с другой стороны, доступна только в течение небольшого периода времени; 1 декабря до 19 декабря.

Мой вопрос: как я могу изменить свой запрос, чтобы выбрать только доступных людей? Я не могу использовать «между», так как в случае с Джоном нет ничего между 1020 и 0814.

Я просто не могу понять, должны быть другие люди, у которых есть подобная проблема ... У кого-нибудь есть решение?

С уважением

Ответы на вопрос(1)

Ваш ответ на вопрос