Всем привет. Есть такой запрос:
SELECT
FLOOR(DATEDIFF(CURDATE(), birthday) / 365) as age,
DATEDIFF(CURDATE(), DATE_ADD(birthday, INTERVAL FLOOR(DATEDIFF(CURDATE(), birthday) / 365) YEAR)) as `interval`
FROM
users
WHERE
DATEDIFF(CURDATE(), DATE_ADD(birthday, INTERVAL FLOOR(DATEDIFF(CURDATE(), birthday) / 365) YEAR)) > 0
ORDER BY
`interval` LIMIT 5;
age - возраст пользователя
interval - сколько дней осталось до дня рождения
where clause - исключить всех, у кого день рождения сегодня
Можно ли его вообще оптимизировать? Или в этом случае ничего особо не сделаешь?