Mysql
 sql >> Base de données >  >> RDS >> Mysql

les variables temporaires MySQL peuvent-elles être utilisées dans la clause WHERE ?

Vous devez attribuer un alias et le tester dans le HAVING clause :

SELECT id, @var := id * 2 AS id_times_2
FROM user
HAVING id_times_2 < 10

Notez que si vous utilisez uniquement la formule pour filtrer, et non pour communiquer les résultats internes d'une ligne à l'autre, vous n'avez pas du tout besoin de la variable. Vous pouvez écrire :

SELECT id, id * 2 AS id_times_2
FROM user
HAVING id_times_2 < 10