sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Sök i en anpassad kolumn

Du kan inte referera i WHERE till alias, använd istället:

SELECT country_ID*2/id*3.159 as my_id 
FROM `state`
WHERE (country_ID*2/id*3.159)>2;

eller använd underfråga:

SELECT t.*
FROM
(
   SELECT country_ID*2/id*3.159 as my_id 
   FROM `state`
) as t
WHERE t.my_id>2

Förenklad logisk frågebehandling , SELECT är nästan sist, så WHERE känner inte till my_id alias:



  1. SQL Server Performance TOP CPU Query -2

  2. SQL join mot datumintervall?

  3. Meddelande om Oracle-tabelländringar i Java

  4. En bugg för uppskattning av kardinalitet i underfrågan