MYSQL数据库选择问题

标签 mysql sql database select

我正在尝试做类似的事情:

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/

相关文章:

php - 从当前日期和时间中减去一些日期和时间即可在 PHP 中查找年龄

sql - 递归 "ON DUPLICATE KEY UPDATE"

sql - Postgresql 表存在,但查询时得到 "relation does not exist"

mysql - WHERE 子句中条件的顺序会影响 MySQL 的性能吗?

mysql - Rails 中的多对多关联

javascript - 无法将 React 更新放入 MySQL 数据库

php - 处理长时间运行的重复 HTTP 请求

javascript - 数据表,在其中为单个行格式编写自定义 HTML 代码

android - Room db-按别名排序无法在分组依据查询中使用

android - LG手机无法访问SqLite数据库