gpt4 book ai didi

mysql - 选择查询的计算字段错误

转载 作者:行者123 更新时间:2023-11-29 04:11:00 25 4
gpt4 key购买 nike

此查询给我一个错误 #1054 - Unknown column 'totalamount' in 'where clause'

 SELECT (amount1 + amount2) as totalamount 
FROM `Donation`
WHERE totalamount > 1000

我知道我可以通过使用 group by 子句并用 having 子句替换我的 where 条件来解决这个错误。但是除了使用 having 子句之外还有其他解决方案吗?如果 group by 是唯一的解决方案,那么我想知道为什么我必须使用 group by 子句,即使我没有使用任何聚合函数

谢谢。

最佳答案

我不希望 MySQL 给出该错误消息,但许多其他数据库会给出。在其他数据库中,您可以通过重复列定义来解决它:

SELECT  amount1 + amount2 as totalamount 
FROM Donation
WHERE amount1 + amount2 > 1000

或者您可以使用子查询来避免重复:

SELECT  totalamount 
FROM (
select amount1 + amount2 as totalamount
, *
from Donation
) as SubQueryAlias
WHERE totalamount > 1000

Live example at SQL Fiddle.

关于mysql - 选择查询的计算字段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11170476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com