Как в SQL выбрать пользователей, у которых день рождения в ближайшую неделю?
Предыдущим двум: не всё так очевидно, как кажется. Вы выбираете по дате рождения, а не ДНЮ рождения. 
Для того, чтобы найти день рождения можно воспользоваться функцией DAYOFYEAR(date).
Должно получиться что-то вроде WHERE DAYOFYEAR(birthday) BETWEEN DAYOFYEAR(NOW) AND DAYOFYEAR(DATE_ADD(NOW(), 7 INTERVAL DAYS))
Запрос не проверял, но надеюсь, идея понятна.
Можно добавить в SQL-запрос условие: WHERE TIMESTAMPDIFF(DAY, `birthday`, NOW()) BETWEEN 0 AND 7WHERE TIMESTAMPDIFF(
    DAY, 
    DATE_ADD(`birthday`, INTERVAL YEAR(NOW())-YEAR(`birthday`) YEAR), 
    NOW()
) BETWEEN 0 AND 7(На несколько строк разбил только для того, чтобы было удобнее читать.)
Спасибо @Kerman за подсказку — совсем не подумал про то, что нужно обратить внимание на год в `birthday`.