在MYSQL中选择查询重用所选列之一

时间:2014-06-09 21:32:26

标签: mysql sql

y这是我的伪问题。

Select `bigformula` as BIGQUERY, BIGQUERY*100 as percent from mytable group by employee_id

我正在选择并计算一大堆来导出BIGQUERY的东西。现在我想在同一个选择语句中重用BIGQUERY。我该怎么做?

目前,如果我运行上面的列,它会给出:

Error Code: 1054 未知专栏' BIGQUERY'在'字段列表'

我可以用什么其他技巧来实现同样的目标?任何这些技巧都会有重大的性能拖累。请注意,查询中使用的所有列都已编制索引,并且运行速度非常快,因此索引可以正常工作。

2 个答案:

答案 0 :(得分:2)

这个怎么样:

Select subquery.BIGQUERY, subquery.BIGQUERY*100 as percent
FROM 
(
  Select `bigformula` as BIGQUERY
  From mytable
) subquery

答案 1 :(得分:1)

当然可以

select @v := `bigformula` as BIGQUERY, @v*100 as percent
from mytable;

GROUP BY

select employee_id, BIGQUERY, BIGQUEY*100 as percent
from (
  select employee_id, `bigformula` as BIGQUERY
  from mytable
  group by employee_id) a;