sql >> Databáze >  >> RDS >> Mysql

mohou být dočasné proměnné MySQL použity v klauzuli WHERE?

Musíte přiřadit alias a otestovat jej v HAVING klauzule:

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

Všimněte si, že pokud vzorec používáte pouze pro filtrování, nikoli pro sdělování interních výsledků z jednoho řádku do druhého, proměnnou vůbec nepotřebujete. Můžete napsat:

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


  1. Jsou tabulky v paměti MySQL globální?

  2. Nejlepší způsob, jak provést vážené vyhledávání ve více polích v mysql?

  3. Nelze uložit arabštinu v databázi MYSQL pomocí PHP

  4. Načítání řádků RAND() bez ORDER BY RAND() v jediném dotazu