0

select 2*2 as 'm', (m*2) as 'n'返品の実行

 /* SQL Error (1054): Unknown column 'm' in 'field list' */

列句で列のエイリアスを使用する方法はありますか?

また:

select sum(x) as sum, sum*2 as doubleSum from myTable;
4

3 に答える 3

2

次のような変数を使用してこれを行うことができます

select @m:=2*2 as m, @m*2 as n

-後で使用したい場合がありますn(実際には、使用できるようになりますが、直接@n使用することはできません)。n

select @m:=2*2 as m, @n:=@m*2 as n
于 2013-10-10T13:12:05.143 に答える
2

サブクエリでそれを行うことができます:

select m, (m*2) as n
from
(
  select 2*2 as m
) sub_query
于 2013-10-10T13:13:37.490 に答える
1

編集:OP編集された質問

パラメータが必要な場合は、次の構文を使用します

select @m:=2 as m, @m+1 as n

select @m:=2*2 as 'm', (@m*2) as 'n'

実際の例でも機能します

select @sum:=sum(impression) as sum, (@sum)*2 as doubleSum from kpi_funnel;
于 2013-10-10T13:07:30.057 に答える