Mysql
 sql >> Datenbank >  >> RDS >> Mysql

können temporäre MySQL-Variablen in der WHERE-Klausel verwendet werden?

Sie müssen einen Alias ​​zuweisen und ihn im HAVING testen Klausel:

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

Beachten Sie, dass Sie die Variable überhaupt nicht benötigen, wenn Sie die Formel nur zum Filtern und nicht zum Übermitteln interner Ergebnisse von einer Zeile zur nächsten verwenden. Sie können schreiben:

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