我不确切地知道怎么说这个问题,但在这里.我想重用我在查询中计算的值来计算另一个值.变量是我猜的正确的单词.这是我的查询:
SELECT
t1.label as label,SUM(t1.totalEvents) as Entry,SUM(t2.totalEvents) as Back,
ROUND(Entry/Back*100,2) as 'Rate'
FROM
trackReports_daily t1
.... rest of query ...
Run Code Online (Sandbox Code Playgroud)
在回合中我想使用SUM返回的值(t1.totalEvents),但是当我使用时Entry我得到了这个错误Unknown column 'Entry' in 'field list'
如果没有像这样重新计算,我怎么能在那里获得价值:
ROUND(SUM(t2.totalEvents)/SUM(t1.totalEvents)*100,2)
Run Code Online (Sandbox Code Playgroud)
Nic*_*ssu 10
看看这个例子
select (select @t1:=sum(field1)),(select @t2:=sum(field2)),@t1/@t2 from table
Run Code Online (Sandbox Code Playgroud)
您可以使用子查询:
SELECT label, Entry, Back, ROUND(Entry/Back*100,2) as 'Rate'
FROM (
SELECT SUM(t1.totalEvents) as Entry, SUM(t2.totalEvents) as Back, t1.label as label
FROM trackReports_daily t1
.... rest of query ...
) as temp;
Run Code Online (Sandbox Code Playgroud)