mysql查询,在查询中使用列名

时间:2009-04-07 14:50:37

标签: mysql

我有一个mysql查询,如下所示:

SELECT users*100 as totalusers, totalusers*90 AS totalsalerys FROM table

正如您所看到的,我想在计算totalusers时重用totalsalerys,所以我不必再次编写相同的代码。这似乎不适用于mysql,还有另一种简单的方法吗?

我的查询只是一个示例,将*100*90更改为某个非常长的公式,您可能会看到我的意思..

2 个答案:

答案 0 :(得分:2)

SELECT  (@r := users * 100) as totalusers,
        @r * 90 AS totalsalerys
FROM    table

您也可以将子查询用作@Tom Ritter条款,但它对ORDER BY ... LIMIT ...子句不友好。

MySQL中,内部子查询的所有结果将在之前在外部子查询中应用任何过滤器时获取。

答案 1 :(得分:1)

我相信您必须复制/粘贴公式或使用子查询。下面的内容可以在T-SQL中使用,但我想它在MySQL中也可以工作,因为它非常简单。

 SELECT 
     x.totalusers, x.totalusers*90 AS totalsalerys 
 FROM (
      SELECT users*100 as totalusers FROM table
 ) x