我可以在SELECT查询中重用计算字段吗?

有没有一种方法可以重用mysql语句中的计算字段。我收到以下内容的错误“未知列总销售额”:

选择
s、 f1+s.f2作为总销售额,
s、 f1/总销售额(以f1百分比表示)
来自销售部

或者我必须重复计算,如果我添加了所有需要的计算,这将导致非常长的SQL语句

选择
s、 f1+s.f2作为总销售额,
s、 f1/(s.f1+s.f2)作为f1\U百分比
来自销售部

当然,我可以在我的php程序中进行所有计算

是的,您可以重用变量。这就是你如何做到的:

选择
@销售总额:=s.f1+s.f2作为销售总额,
s、 f1/@总销售额(按f1百分比计算)
来自销售部

请在此处阅读更多信息:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html

[注意:此行为未定义。根据MySQL文档:]

作为一般规则,决不应将值分配给用户变量,并在同一语句中读取该值。你可能会得到你期望的结果,但这不是保证

发表评论