Mysql
 sql >> Database >  >> RDS >> Mysql

le variabili temporanee MySQL possono essere utilizzate nella clausola WHERE?

Devi assegnare un alias e testarlo in HAVING clausola:

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

Nota che se stai solo usando la formula per il filtraggio, non per comunicare i risultati interni da una riga all'altra, non hai affatto bisogno della variabile. Puoi scrivere:

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