我的查询是:
SELECT
offer,
(SELECT
AVG(offer)
FROM
project_bids
) as var1
FROM
`project_bids`
WHERE
offer > var1
它会导致“#1054 - 'where 子句' 中的未知列 'var1'”错误。有人可以解释为什么会出现这个错误吗? (我知道有效的sql,但我想了解它失败的原因)
最佳答案
这里提到了 SELECT 语句子句的执行顺序:
除了最后一个子句“ORDER BY”之外,任何子句中都不能使用列的别名。
关于mysql - 为什么不能在Where子句中使用定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123886/