如何在mysql函数中使用别名

Posted

技术标签:

【中文标题】如何在mysql函数中使用别名【英文标题】:How to use aliases in mysql functions 【发布时间】:2013-11-14 23:58:27 【问题描述】:

我如何在数学函数和 group by 语句中使用带空格的别名。如果我使用单个单词别名,我可以使用它,但是如果名称有空格,有什么方法可以实现它?

select 
   count(date_format(start_date, '%W')) AS "NUMBER OF DAYS",
   repeat('*', "NUMBER OF DAYS") 
from    ABC

我尝试使用双引号、单引号和反引号(`),但它给出了一个错误提示“字段列表中的未知列“NUMBER OF DAYS””

【问题讨论】:

【参考方案1】:

您不能在 selectwhere 子句中重复使用别名。仅在 grouphavingorder 子句中。

【讨论】:

【参考方案2】:

你可以使用派生表

select
`NUMBER OF DAYS`,
repeat('*', `NUMBER OF DAYS`) 
from
(
select 
   count(date_format(start_date, '%W')) AS `NUMBER OF DAYS`
from    ABC
) as t

【讨论】:

以上是关于如何在mysql函数中使用别名的主要内容,如果未能解决你的问题,请参考以下文章

mysql 递归函数with recursive的用法

MySQL必知应会-第16章-创建高级联结

别名和聚合函数的 MySQL 查询问题

mysql 求和语句

MySQL.MySQL基础

MySQL.MySQL基础