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/