My MySQL Knowledge=初学者

Columns: MonthlyIncome and MonthlyDebt
Table: customer

期望输出:显示每月一次-每月一次的最小值、最大值和平均值。MonthlyIncome-MonthlyDebt=NetIncome
我在研究和实验中失败的尝试:
获取两列之间的差异,并将它们放入一个别名列中。
从别名列(NetIncome)中选择以显示最小值、最大值和平均值。
失败的查询:
SELECT MonthlyIncome - MonthlyDebt AS NetIncome
FROM    (
        SELECT MIN(NetIncome) AS MinNet,
        MAX(NetIncome) AS MaxNet,
        AVE(NetIncome) AS AveNet
        FROM customers
        ) AS subqueryalias

故障产生以下错误:
Error Code: 1054. Unknown column 'NetIncome' in 'field list'

最佳答案

您在外部查询中定义了NetIncome,但在内部查询中引用了它,这是不允许的。首先执行内部查询。我甚至不使用别名,只在所有聚合函数中使用表达式:

select min(MonthlyIncome - MonthlyDebt), max(MonthlyIncome - MonthlyDebt), avg(MonthlyIncome - MonthlyDebt)
from customers

关于mysql - 显示别名列中的MIN,MAX和AVE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44479160/

10-11 12:44