mysql - 如何将 MySQL 中不明确的别名解析为当前表的定义

标签 mysql sql alias self ambiguity

我想知道 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/

相关文章:

mysql - Symfony 2 - 一份源代码,多个数据库

sql - 在 SQL Server 中查找是否有包含 null 的列

c# - 将 mysql.data 引用添加到 VS2010

PowerShell "select as"函数作用于变量

Swift -- "alias"一个对象的实例

python - MySQL插入语句在Python中不起作用

php - mysql按列值排序按列值分组

PHP MySQL 设置selectpicker选中多个

SQL分组interescting/overlapping行

Github 页面 : Custom domain setup with Hover