Дата между 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.
Я просто не могу понять, должны быть другие люди, у которых есть подобная проблема ... У кого-нибудь есть решение?
С уважением