mysql - 从别名列显示 MIN、MAX 和 AVE

标签 mysql sql

我的 MySQL 知识 = 初学者

Columns: MonthlyIncome and MonthlyDebt
Table: customer

期望输出:显示 MonthlyIncome - MonthlyDebt 之差的 MIN、MAX 和 AVE。 MonthlyIncome- MonthlyDebt = NetIncome

我失败的尝试来自研究和实验:

  1. 获取两列之间的差异并将它们放在别名列中。
  2. 从别名列 (NetIncome) 中选择以显示 MIN、MAX 和 AVE。

失败的查询:

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/

相关文章:

php - CodeIgniter SQL 查询不返回逻辑结果

php - 如何将行数组传递给 PDO 以插入它们?

php - MYSQL错误获取准备语句

mysql - 如何获得MySQL中连续行之间的差异?

sql - 添加唯一索引。 SQLite3

mysql - 如何连接具有相同属性的两个表?

sql - ISNULL、IIF、CASE 语句中的子查询

mysql - 我已经走进了死胡同。 SQL查询获取最后回复的用户名和时间戳

mysql - 无法使用 Sequelize 将 id 插入属于外键引用表的表中

css - 根据数据库值 asp.net 更改 css 值