sql >> Database >  >> RDS >> Mysql

kunnen tijdelijke MySQL-variabelen worden gebruikt in de WHERE-clausule?

U moet een alias toewijzen en deze testen in de HAVING clausule:

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

Houd er rekening mee dat als u de formule alleen gebruikt om te filteren en niet om interne resultaten van de ene rij naar de andere te communiceren, u de variabele helemaal niet nodig hebt. Je kunt schrijven:

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


  1. MySQL IFNULL() uitgelegd

  2. Waarom retourneert het selecteren van SCOPE_IDENTITY() een decimaal in plaats van een geheel getal?

  3. Slechte handdruk of ECONNRESET Azure Mysql Nodejs

  4. Specificeer het tabeltype/de opslagengine in Leer 2