sql >> Base de Datos >  >> RDS >> Mysql

¿Se pueden usar variables temporales de MySQL en la cláusula WHERE?

Debe asignar un alias y probarlo en HAVING cláusula:

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

Tenga en cuenta que si solo usa la fórmula para filtrar, no para comunicar los resultados internos de una fila a la siguiente, no necesita la variable en absoluto. Puedes escribir:

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