Выражение HAVING может ссылаться на любой столбец или псевдоним, упомянутый в выражении select_expression. HAVING отрабатывается последним, непосредственно перед отсылкой данных клиенту, и без какой бы то ни было оптимизации. Не используйте это выражение для определения того, что должно быть определено в WHERE. Например, нельзя задать следующий оператор:
mysql> SELECT col_name FROM tbl_name HAVING col_name > 0;
Вместо этого следует задавать:
mysql> SELECT col_name FROM tbl_name WHERE col_name > 0;
select *
from (
select * from table where количество >=:запрошенное_количество order by количество limit 1
union all
select * from table where количество <:запрошенное_количество order by количество desc limit 1
) s
order by количество desc limit 1
select навыки_вакансии.вакансия
,требования_резюме.резюме
,sum(требования_резюме.степень_владения - abs(требования_резюме.степень_владения-навыки_вакансии.степень_владения)) as ранг
from навыки_вакансии,требования_резюме
where навыки_вакансии.показатель = требования_резюме.показатель
group by навыки_вакансии.вакансия, требования_резюме.резюме
order by ранг desc