Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Você pode usar um alias na cláusula WHERE no mysql?


Você pode usar uma cláusula HAVING, que pode veja os aliases, por exemplo
 HAVING avg_rating>5

mas em uma cláusula where você precisará repetir sua expressão, por exemplo
 WHERE (sum(reviews.rev_rating)/count(reviews.rev_id))>5

MAS! Nem todas as expressões serão permitidas - usar uma função de agregação como SUM não funcionará; nesse caso, você precisará usar uma cláusula HAVING.

Do Manual MySQL :

Não é permitido fazer referência a um alias de coluna em uma cláusula WHERE, porque o valor da coluna pode ainda não ser determinado quando a cláusula WHERE é executada. Consulte a Seção B.1.5.4,“Problemas com Aliases de coluna” .