Как правильно написать такой mysql запрос?
Есть запрос вида
SELECT *, (YEAR(current_date())-YEAR(date_of_birth)) as age FROM `tbl_user` WHERE (role!="admin") GROUP BY age
Работает как надо. Вычисляет количество лет пользователей и группирует их по количеству лет. Но если я захочу посмотреть всех пользователей старше, например, 25-ти лет, то получу ошибку с описанием, что такого поля, как age, не существует. Пример:
SELECT *, (YEAR(current_date())-YEAR(date_of_birth)) as age FROM `tbl_user` WHERE (role!="admin") AND age>'25'
Подскажите, что не так, почему и как сделать, чтобы заработало? И да. Можно использовать только Mysql (никаких php и т.д.).
Источник: Stack Overflow на русском