我正在尝试做类似的事情:
Select column_name*other_column_name as sqr
From table
Where sqr<25
Order by(sqr)
column_name 和 column_name 是我存储 int 值的数据库的列。
我发现
标准 SQL 不允许您在 WHERE 子句中引用列别名。施加此限制是因为执行 WHERE 代码时,列值可能尚未确定。例如,下面的查询是非法的。
有没有人知道如何礼貌地打通电话,请不要这样说:
Select column_name*other_column_name as sqr
From table
Where column_name*other_column_name<25
Order by (column_name*other_column_name);
因为在这个例子中我简化了方程但是在我的项目中方程真的很长
谢谢对不起我的英语
最佳答案
您可以将查询包装在子查询中,然后您可以使用别名:
SELECT *
FROM
(
Select column_name*other_column_name as sqr
from table
) X
where x.sqr < 25
order by x.sqr;
关于MYSQL数据库选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11654956/