Data entre 2 outras datas, desconsiderando o ano

Estou procurando algo parecido com a pessoaAqui estava procurando, só que eu gostaria de usar o MySQL. A tabela abaixo é algo que você encontraria no meu banco de dados (simplificado).

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

Primeiro de tudo a entrada tem que ser aleatória, não id 4 e eu quero apenas 1 entrada. Eu trabalhei nisso:SELECT * FROM test WHERE id <> 4 ORDER BY rand() LIMIT 1.

Nesta tabela, as colunas 'primeiro' e 'último' são datas formatadas como mmdd (ambos inteiros). Então John está disponível a maior parte do ano; de 20 de outubro a 14 de agosto. Zara, por outro lado, só está disponível por um pequeno período de tempo; 1 de dezembro até 19 de dezembro.

Minha pergunta: como altero minha consulta para selecionar apenas as pessoas disponíveis? Eu não posso usar 'between' porque, no caso de John, não há nada entre 1020 e 0814.

Eu simplesmente não consigo entender, tem que haver outras pessoas que tenham um problema parecido ... Alguém tem uma solução?

Atenciosamente