我想知道 MySQL 是否对您正在构建的当前表有某种默认别名(例如 SmallTalk 中的“self”或 Java 中的“this”)。例如:
SELECT
SUM(revenue) AS revenue,
SUM(units) AS units,
SUM(revenue)/SUM(units) AS revPerUnit,
-- I want to replace the above line with the below line:
self.revenue/self.units AS revPerUnit2
FROM inputTable;
我知道我可以使用明确的别名,但我想知道是否有一种方法可以在存在不明确的定义时指定您想要当前表的别名。
最佳答案
通常,我在这些情况下会这样做:
SELECT revenue,
units,
revenue / units AS revperunit2
FROM (SELECT SUM(revenue) AS revenue,
SUM(units) AS units
FROM inputtable) subsel
有时您有复杂的查询,并且重新声明字段不利于可读性,也不利于性能。子查询是可行的方法。
关于mysql - 如何将 MySQL 中不明确的别名解析为当前表的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666553/